The costs are often hidden because they are paid by the merchant. I think in the USA it is customary to pay a small fixed fee, say .29 USD plus a percentage, say 2% of the transaction amount. As you can see, for many transactions, bitcoin at .0001 btc or .05 USD, is a great deal. Debit cards are less expensive.
Debit cards are actually more expensive as they use a smaller, less efficient network. Also more data needs to be transmitted when a debit card is used (the customer entering the PIN which is transmitted to the bank in encrypted format, who will reply if it is valid or not). It has been reported that debit card transactions usually cost much more credit card transactions.