I don’t use debit cards because it’s less secure than using a credit card. If I dispute a charge on a credit card I’m more likely to have a positive outcome than if I use a debit card. With a debit card the money is taken out of your bank account at the point of purchase. It’s hard to get it back in if I was charged inappropriately.
My guiding principle is that it’s best to not let someone take money out of your bank account since putting it back in is a hassle. What happens in this scenario: You use a debit card to purchase something from eBay and what you got isn’t what was promised. eBay sides with the seller. What recourse do you have? With a credit card, in the worst case scenario, I just don’t pay the credit card company. I don’t care about credit ratings and credit card companies won’t sue me for the money. They’ll just ding my credit rating.
Generally, retailers like credit cards because people usually spend more money when they pay with credit cards.
That is why you do not see major US retailers offer discounts for paying with cash/debit card/ACH. The only one I can think of is Target, that offers 5% off if you use Target Redcard, which can be linked to your bank account.
I presume smaller retailers are hit the hardest with fees, as they face the most payment processing middlemen and have zero leverage in terms of volume from which to negotiate that stuff. So maybe Starbucks doesn't care how you pay, but Joe's Joe down the street has a hardwritten sign up by the till asking you to consider paying with debit or cash because it saves them a few percent on each transaction when you do.