The US definition of a "debit card" is massively different than the Canadian one. For us, our bank card is the debit card. The same one I use to take money out of my account at an ATM is the same one I can use to buy a $1 coffee.
Why some banks do charge outrageous fees, thanks to the free market there is a healthy market and many banks in Canada are now fully virtual or offer next to no fees.
Just because a system is poorly designed in one locale does not mean the idea itself is flawed, just that it should be implemented in an improved way.