Visas.
Most programming work (of the type talked about in the OP) originates in the USA, and most companies, even startups, need employees to come in the door everyday. (not taking on the question of whether this is ideal or not, that is the just the way it is, right now) .
Imagine (as a thought experiment) a scenario where a smart kid who lives in India or Ukraine or Africa is just able to get on a plane and land in SF for an interview or a job irrespective of whether he has the right degree, paperwork etc and without jumping through hoops at the consulate and rolling the dice.
The (edit: thanks @daladd for correction) supply would go way up and hence average salary would go down (which is why large companies are trying for more H1 Bs - they like easier availability of devs and lower salaries)
Or imagine the border with Mexico being completely officially open. See what happens to the dishwasher/fruit picker payment structure.