This is it. Free market at work. If you live in Tulsa, OK you won't have easy access to as many $150k jobs. The goal of the company is to get the best quality of work for the lowest price. Why would they pay extra?
People move, and these policies give people an incentive be in certain places. Paying more in SF is saying, "Please move to a city where you'll have more opportunities outside this company." The company is shelling out five or six figures to increase your cost of living, bid up SF house prices, and increase your likelihood of leaving the company. And even the other way around -- "Don't move somewhere you'd rather be, where you'd be happier and more loyal. We'll cut your pay if you do."
When looking at an individual employee's decisions, these policies don't seem to help the company. I think they only really make sense when thinking about populations, where people are less mobile and more fungible.