The main reason is because of anonymity, when you purchase something online with Bitcoin, you don't have to reveal your identity to anyone. For example people buying porn content might prefer to remain anonymous, if you pay with a credit card, your purchase is associated with your name and will show up in your statement.
Yes...for some people, in some situations, the pseudo-anonymity is important. But, using bitcoin at, say, a coffee shop instead of using cash seems a bit eccentric....I mean, it's so much easier to hand over a couple dollars instead of carrying around a phone and swiping it for every small transaction I participate in throughout the day. Isn't it?
It will really take depends on the purpose of transaction.
In a majority of everyday use cases, cash is the most convenient and cost effective method of conducting a transaction. It also leaves the least significant transaction history of all the methods available. Bitcoin is most useful for very large transactions, transfer remittance, and online purchases....One is not a practical substitute for the other in most situations.