It is not that they prefer it, they don't have a choice.
Online stores from merchants are not accepting Bitcoin because of the fact that they are scared of what it can do harm to them. From scams and its volatility, they would just stick with what they are used to pay with. I guess it would be different if Bitcoin and cryptocurrencies are regulated but I don't think people would be liking that
That remains to be seen
It could be argued that merchants are not accepting Bitcoin because of the lack of demand for their goods or services paid and priced in this cryptocurrency. In other words, it is not merchants that are not willing to accept Bitcoin but rather consumers not particularly inclined to pay with it (read, you may be confusing cause and effect here)
And that also explains the insane levels of volatility we see. If Bitcoin were used to facilitate the exchange of goods, i.e. used as a payment option and not a vehicle for speculation, volatility would go away. but it does look and feel like a vicious circle of sorts, I agree