There are two major factors that prevent Bitcoin being widely used as a currency. First of all, the transaction fee is not fixed and sometimes it can cost a fortune for the users to make Bitcoin payments (back in 2017 December, the average Bitcoin transaction fee was around $20). When other payment options such as Paypal and Visa charges only a fraction of that, you can't expect a lot many people to use Bitcoin for this purpose. The second factor is the time required to confirm payments. It may take up to 1 hour to confirm Bitcoin payments. For the other modes, it takes less than one minute.
I think there is a third factor, which is having an unstable price. I have read an article which states that Steam ejects bitcoin from their payment method because it has an unstable price. it might be detrimental to a permanent company when they accept bitcoin as a legal payment tool, and the price suddenly drops. indirectly, they sell at cheap prices.