Bitcoin is a currency, one which has a payment method build in. Euro is a currency, too. It has a payment method build in, too: If you give someone a Euro banknote, you're using it. But that's it in regards to built-in payment methods. The one payment method fiat currencies have built in are completely useless, online.
However, as you have noted, there are credit card companies who allow you to use the Euro (or the Dollar or whatever fiat currency) without using its built-in payment method. Similarly, additional payment methods can be developed for Bitcoin, too.
With fiat currencies, you are obligated to use an intermediary (e.g. a credit card company) if you pay someone who's not physically right in front of you. With Bitcoin, you don't have to. You may still choose to use one.
Such intermediaries have in fact been created and banks are really happy about it.
For merchants, using intermediaries is particularly interesting because it means that they can accept payments in Bitcoin easily by delegating the handling of payments to a payment processor. There already are quite a few of these.
Similarly, Bitcoin credit card companies can be created. However, using one of course reduces privacy because no one will give you a credit it you don't identify yourself. This means you lose your pseudonymity when using such a service.
However, using direct debit doesn't have to come at such cost. A payment provider can accept anonymous deposits to an account. This account can then be charged by webstores.
There really is a lot to be improved about direct debit. Banks used it for years without implementing improvements and I really hope we will see some with Bitcoin payment processors.
For example, I think you should be able to activate merchant's access to your account via direct debit. Currently, if you give someone your name, name of your bank, and your account number, they can get money from you. In most countries, you have a short period to notice an unauthorized withdrawal and can get your money back but if you don't notice it fast enough, you lost that money.
If you'd see a notice that some new merchant wants to retrieve 141 mBTC from your account and have 24 hours to accept that merchant only once or add it to your list of permanently trusted merchants or to decline it instantly (which would happen after those 24 hours, anyways), that'd be much better than it currently is with banks where basically everyone is a trusted merchant, no matter whether you ever even bought something from them.
Furthermore, you probably only use one bank account and give every merchant the same bank information to withdraw money from that account via direct debit. Any one of them can give your bank information to someone who withdraws money from it without your consent and you have no way of finding out which merchant you ever bought something from via direct debit is the culprit. You can't create a lot of different account numbers for the same account. However, if an ID different from the account number was used and you only ever use one ID per merchant, it'd be really easy to find the culprit. You would see in your payment processor's web interface that you gave the ID
coinbase.com:Rd3pG82U to that weird shop you found 3 month ago and bought something from. Btw.: The ID
Rd3pG82U is only 8 characters long, far shorter than account number + name of the account holder + bank code. In fact, it's shorter than any one of them. If IBAN + BIC it's used, it doesn't exactly look better for banks. But those 8 characters are base 58, enough for 128'063'081'718'016 IDs. Or 17'075 ID for every single of the 7.5 billion people currently alive, at a single payment processor alone. With 2 characters being used for redundancy so typing errors are caught, 38'068'692'544 IDs fit into the remaining 6 characters. And if those run out for a single payment processor, a digit can be added and you got 59 times as many IDs as before. Btw.: The 2 check digits are far better than what IBAN has and BIC doesn't have any.