Earlier quoted context omitted.
Expensive cities have most of the jobs. There's a reason Pittsburgh's population declined by the hundreds of thousands since the 1970s. Sure you can get a cheaper house. But you aren't making coastal money. In the 60s those "small towns" had manufacturing plants you could just walk in and get a job at, many of which were union and paid extraordinarily well.
It's not an "either or". There are mid-range cities, with jobs and affordable housing. As many jobs as there are in SF, LA, NYC, etc, they don't comprise 100% of all jobs.
The reason many of these places have cheap housing is largely because of abandoned neighborhoods, vacant lots, condemned housing, ancient housing which requires A TON of work...the neighborhoods people want to live in are pretty expensive still.
Not to mention the old school mentality and opportunity cost. I left one of those old school firms. It was 8-5 everyday, no variation, no flex hours. No vacation in your first year. No comp time for travel. Expectation of working additional hours. Poor yearly raises, etc. Small job market = small network = less salary jumps.