Our Credit Union has reciprocal arrangement with many (most) Credit Unions in Canada and across USA. We use credit cards at stores (1% international transaction fee) and get the best currency rate.
If we want cash we go to a Credit Union ATM and withdraw. If you ask for $100 you will get $100 Canadian but your account will only be charged $91 plus 1% transaction fee.
If memory serves correctly we could use our debit card at Walmart. However we couldn't use our debit card at Costco....had to write a check or use cash.
I believe there were some reasons that it was more advantageous to use the credit card than the debit card but I don't remember what they were.