Ray Haffner is Red John because the therapist that he went to said he had acrophobia. He lied...he has arachnaphobia, hence his fear of the spider in the hotel. Also, what stopped him from killing Lisbon was the fact that he saw a spider and a spiderweb in the place where he killed partridge. He got scared and left early before he could finish his ritual.