It's because the situation outside (in poorer countries) is even shittier, and stocking shelves is not paid enough to be able to live normally (without 6+ people in one bedroom), because cheap foreigners living 6+ in one bedroom do it, instead of the company having to pay local workers high enough wages. Even if foreigners leave, someone new, from an even shittier situation will come and replace them.
If shop owners were forced to pay native canadians the "livable" amount of money, the situation might be different... but I agree, that the housing situation is fucked in most of the developed world and governments actively try to keep it in a fucked state.