I think #1
is mostly a pay issue. If two companies pay the same and one expects more hours, they don't pay the same.
(note, I'd also take a small hourly cut to work fewer hours a week, but as far as I can tell, the paycut I would need to take to do that is so large that I'm better off working a few years on and then taking six months or a year off and eating the tax and career disadvantages of that)
For most people in my area, #2 and #3 are also mostly pay issues. Like #1, it's not entirely pay, but the most common reason I've heard for people wanting to work places other than here (I'm in silicon valley, as you'd expect from someone trying to maximize salary) is that it's less expensive to live almost anywhere else in the world.