But, to get to a root cause, I think we have to keep asking why. Why are rents high? One reason is that cities seem unwilling to rezone. Okay, why is city council/the mayor unwilling to rezone (sometimes vast swaths of single family homes?) Voters? Corruption? Something else?
There are several root causes we can potentially drill further down to, but making headway will likely require hard work and involvement in our communities. You could always try running for something and becoming a politician.