In an ideal world, it would work, if the tenant has enough money ahead to do said repairs. If not, what will you do ? Ask the owner? He doesn't have any money anymore, other than his own salary, which may also not be enough to pay for said repairs.
Rent isn't just money lost, it is money that can be put asside in order to be used in the future to do those repairs.
How much money will be kept for that purpose depends on the landlord, which can be either a greedy cunt, a good guy, or anything in between), but that's another topic.
Another use for rent money is to build new homes. Building new things costs money, be it for the material used or the workers involved, and you can't just ask them to work for free.