"The biggest problem with "Make developers give something back to the public" is that a city's efforts to do so end up ramping up the cost and complexity of development until the game is even more stacked in favor of the biggest projects and the deepest pockets. And that, in turn, even more dramatically raises the incentive to shout "Make them give something back!"
In an ideal world, we'd have hundreds of small infill projects going on at once. San Bruno could still get that 475 new apartments (or far more than that) but spread over dozens of sites instead of all in one gargantuan building. The culture of negotiation and dealmaking would be less dominant, because it's not practical to operate that way with small projects. For example, the logistical complexity of trying to impose inclusionary zoning on small projects is such that almost all such ordinances exempt individual homes or projects below a certain number of units (20, perhaps, or even 50)."