Because they don't have to. Peoples' expectations of salary are likely in line with their local job markets, so even great developers living in a rural area will likely either accept the average base salary for their locale, or move to SF for the larger payday (and all of the expenses that come with it).