Bitcoin transaction fee may be very low. but then the merchant may need to spend additional amount to convert these coins to BTC.
Converting to fiat (which I assume is what you meant) is irrelevant. That has nothing to do with the speed and price of a bitcoin transaction. No one is forcing the merchant to convert to fiat; that's entirely their choice. Still, most exchanges charge around 0.25% fees for trading to fiat, and most payment processors around 0.5 - 1%, so still less than credit cards.
On top of that, the VAT/GST calculations may get too complicated and it may take a lot of time and effort to settle everything in the end.
Taxes will be paid in fiat, and so tax calculations should be no more complicated than those for money accepted in fiat. Simply convert the BTC to the corresponding fiat value and continue as normal.
I am not sure whether it is as simple as it sounds. The 0.25% fee that you have mentioned is for trading. But once you convert your coins to fiat, you need to deposit the resulting fiat in your bank account. I am not sure how much it is going to cost, but I suspect that it is much more expensive than the exchange fees and on top of that this process can take a few weeks to complete.
I agree that no one is forcing the merchant to convert to fiat. But then, he need to take care of his expenses and for that he need fiat cash. What if the supplier doesn't accept BTC? He need to get his supplies on a regular basis, so that his shop is fully stocked. For that, the payments needs to be in fiat cash and the delay should not exceed a few days.