FWIW there's no real difference to the customer but retailers are charged for every transaction processed through a card machine. The charge varies depending on which type of card it is, not just between debit or credit but by specific "brand". That's why some places won't accept card payments for anything under a fiver and one of the reasons that some don't accept certain cards.