In traditional transactions, the merchants pay the fees. For bitcoins, it seems that the payer is paying the fees. In pratice, what will happen for a real transaction? If the payer does not enough fees, the transaction won't be confirmed. Or should the merchants include the transaction fees in the price?
In Bitcoin it is indeed the sender who pays the fees. Also for "real transactions" (with the marginal case of P2SH where one can say that the receiver pays part of the fees upon spending the proceeds of the P2SH transaction).
Indeed, if fees are too low, the transaction is not confirmed. Therefore, the seller typically waits to see whether the transaction is confirmed before delivering anything.
At present the fee is typically less than USD 0.1.
Because the fee necessary for a transaction depends on the length of this transaction (ie its number of inputs, among other things - something determined by the buyer's history), it is hard for the seller to specify a fee that applies to all the expected transactions.The transaction fee can therefore be seen to be only implicitely and approximately included in the price.
Bitcoin does use a different system to traditional payments. With Bitcoin the payment is "pushed" to the merchant or other wallet you're sending the coin to so the transaction fee is paid by the payer.
Traditional payment methods use a "pull" system where the payment is taken from the bank account/card of the payer.
In the case of VISA/MasterCard or other credit/debit card companies, yes, the merchant pays the fees, but not because they want.
The merchants are faced with a dilemma: if they don't support debit/credit card payments, they get less customers. If they want debit/credit payments, they have to sign a contract with these debit/credit card companies, that forces them to comply with some rules. The most important rule is that they cannot pass the credit/debit card fees to the customer, that is, the price for an item should always be the same regardless of the payment method chosen.
In the case of bitcoin, the system is designed, from the start, as a "push" method, as @Marc already said, so the user is the one in charge of paying the fee, in principle. Thing is, as fees raise in the market (because of bitcoin blocks becoming full), customers will try to pay the smaller fees possible, which will make transactions slower to confirm, which is bad for the merchant because it makes the purchase process feel even slower than it's already (as merchants want to wait as many confirmations as possible before considering an item being paid, to avoid double-spend attacks), scaring customers away.
Therefore, it's not unreasonable to think of a not so distant future in which the merchant will use techniques to speed up this process by contributing part of the fee themselves. One of these techniques is called CPFP: Child Pays For Parent, and consists in attaching a higher fee to a subsequent transaction (depending on the first transaction), to attract more miners to process it, and so that both transactions happen faster.