Here's the major change. Jobs don't last 5+ years on a regular basis anymore. It's very hard to have a real career without moving around, because people are either "tapped" for the best projects in the first 6-12 months in a new job, or they're not. The "not" case means that it's time to move on. You have to move around a lot (a lot more than most people are comfortable with) to have a real career.
What this means is that living outside of a major city is just untenable, because changing jobs means changing cities, and no one wants to do that every few years. If you loe uour job or just need to change, and you live in New York, you're OK. If you live in Dayton, Ohio, though, you're somewhat out of luck. The appeal of the star cities is skyrocketing because of this change: because the rest of the cities just don't have large enough job markets, considering how specialized most modern work is and how frequent job changes are becoming.