It might be mostly cultural. I show appreciation and gratitude by using the service, reasoning that all the compensation necessary is included in the price. I don't see the US way as paying extra, it's more like "pay what you want in a specific range", whereas the European way is more "this is the price we've all decided is mutually fair".
The former way would be more efficient, if it weren't for the social stigma of underpaying. I'd love to overpay for good service and underpay for bad service, but nobody underpays, in practice. Still, I guess overpaying for good service is a good way.
The practice of tipping or not and how much is in a large part cultural, of course. I was just answering your question regarding the case of taxis specifically, since (in NYC, at least) I think the circumstances of "taxi economics" put most drivers at a disadvantage, and I try to acknowledge that by tipping.
The former way would be more efficient, if it weren't for the social stigma of underpaying. I'd love to overpay for good service and underpay for bad service, but nobody underpays, in practice. Still, I guess overpaying for good service is a good way.