Canada has lots of stores that offer a discount if you pay cash. Many have a minimum purchase amount for credit cards.
One, inertia. Companies haven't realized they're allowed to do it now. That'll change over time.
Two, there are ways to transfer "cash" digitally without paying the credit card fees (i.e. ACH), and there are reasons to want to use digital payments -- making payments over the internet being a major one -- but ACH is ancient and it needs some kind of modern open standard in order to do things like make a payment request and determine in real-time whether the source account actually exists and has sufficient balance to make the payment. Various attempts to do that are constantly being made and constantly being fought against by Visa et al.