A few quick thoughts I had recently on why people leave jobs, and how to look for a job:
- People don't leave companies. People leave managers.
- Getting a job is a job. (So if you have a job already, and you want a different one, be prepared to work two jobs for a while. If you DON'T feel like you're working two jobs, you're not looking the right way.)
- Don't look for a job. Look for a person.
And here's an old post that outlines an effective strategy for job hunting.