Tips are an awful way to incentivize good service.
I'm neither qualified to judge my server's performance, and I've got very limited and potentially misleading information about what a reasonable expectation is. I've got no idea what small crises my server had to deal with, or how other customers are treating him.
And because tips are everywhere now, nobody knows the going rate for most tips. Obviously tourists have no idea how much to tip.
If I reduce the tip, the waiter is only finding out that I was unsatisfied after it's too late to fix anything. But tipping up front makes the exercise entirely pointless.
And the moralizing of tips is stupid.
Many moral arguments paint people in the service industry as paupers or victims, but a basic level of respsect has to assume they're competent professionals who chose this line of work.
A tip is not an act of generosity, either, you're paying a fee for a service rendered. And that's why, as a system, the morality of tipping is entirely backwards: it rewards people who rip off their servers.
The thing that really bothers me are the awful motivations behind tipping: being control freaks, conspicuous consumption and all the slimy business incentives to push their payroll onto their customers.