As someone who worked in one of those post offices, there's a few more bonuses to go this way.
First off, most local post offices in Canada (the govt operated ones) keep banker's hours more or less. Which means that if you have a real job then you probably won't have time to pick up your parcel or registered letter. Which means convenience for the actual consumers of the service.
Secondly, the employees are paid at the cashier rate rather than postal employee rate. Even if you're a long term lifer, your pay is still less than almost any actual postal employee (which makes it cheaper for Canada Post and the local store to afford it).
Thirdly, having a post office drives an impressive amount of foot traffic. People coming to pick up passport applications, mailing/collecting said, the same for parcels, even people just going in to drop off their letters inside a post office instead of a mail box (you'd really be suprised how much of a driving factor that is; people generally prefer a post office to a corner mailbox if only because they can find out when it will be picked up). All these people walk through your store, and some of them will buy something. You'll notice that these post offices are NEVER at the front of the store (not suprising either, since they need secure storage for postal supplies IE stamps, and inbound and outbound mail. Canada Post is pretty damn retentive about security in my experience).
Oddly enough, from the store's point of view they aren't really money-makers themselves. 99% of your stock for them comes from Canada Post, and your margin for the stuff is at best 5%. Compared to perfume or house-brand products (which can go from 50% to 250% markup), selling a book of stamps dosen't make any business sense on its own.