I left twice, both times personal. Once for college, once a bit over a year ago.
Tech permeates the area, and the expectations surrounding it can be harsh. The expectations put on kids can be too much, and I hated it. And honestly, I really didn't like the people I went to high school with or the people in my hometown much. I needed something new and different, an entirely different sort of culture to grow out of this tech and real estate focused town. So I went to Minnesota.
After college, I came back since I couldn't find work, and I got to know a lot of the better parts a bit outside my hometown. First Fridays in San Jose and Del Valle park in Livermore are two. I got a tech support job I didn't like and a bike mechanic gig on the side that I loved. What really got me to leave was getting a job in Seattle. I was prepared to stay a few more years because of the sheer number of jobs, but the area just wasn't one I could settle in long-term. There were too many bad associations for me personally.
I'm not going to say Seattle is better for everybody, but it's new to me. And I'm better equipped to find people I enjoy hanging out with, to put myself in situations that work well for me.