It’s pretty simple
1. Land area is huge in Canada, you can’t build a startup distribution network at scale and be efficient (ask target)
2. Interprovincial trade barriers
3. Everything has to have the French language printed on it - even if the closest supplier to Alberta is Montana, you can’t just import stuff without different inspection and packaging. This centralizes everything imported in Canada to things like the Toronto distribution center of which most foodstuffs only increase in cost the further across Canada from Toronto you get
4. Smaller grocery stores have tried, and the reasons above, plus the massive amounts of corporate welfare that companies like sobeys and loblaws get make the market unbalanced and unfriendly to competition.