One thing people don't take into account when figuring out cost-of-living adjustments: while expenses like rent, taxes, and meals out are typically a percentage of income, expenses like durable consumer goods and savings are measured in absolute dollars, and are fungible between locations. So while it sucks that cost-of-living might still eat up 80% of your income, the remaining 20% is a measly $8k/year at a $40K/year middle-America programmer job, but $30K/year at a $150K/year Bay Area tech job.
And the difference gets even more stark with added income - if you make $300K/year (quite doable as a senior engineer at a major tech company in the Bay Area), your taxes go up, but every other expense category remains the same, and so you end up banking about $100K/year. It's not unreasonable for a programmer in the Bay Area to save up half a million over a 4-5 year stint at a company; ask someone in Kansas or Ohio how long they think they'll have to work to save up half a million.