This one, every time. Imagine buying a product or service for an agreed price, and then being guilt-tripped into having to pay 20%, or more, on top because the owners don't pay their staff enough salary to survive on. It should be fucking illegal. Pay your staff a proper salary and charge your clients the price you published on your menu/price-list etc. Running a business isn't a god-given right, and if you can't do it without screwing your employees over, then you're not capable of running a business period. You should bugger off and let someone who is capable, and who isn't an empathy vacuum have a go.
It's functionally a way to communicate happiness with the service.
The restaurants I am a regular at know if I don't leave a fat tip I wasn't happy with how they performed. Waiting 20+ minutes just to pay is unacceptable to give a recent example. They were understaffed and some old dude In the attached hotel insisted on print out copies of his reservation details that he then argued about. I could have paid, cash or card, and been out in under a minute while this dude was reading his papers but instead I just sat there for almost half an hour after finishing my meal.
Should they still get paid unlike in the American system? Yes. But I'm fine with tipping as a general concept. In Germany we call it Trinkgeld and it's usually 10%, and not exactly a thing you are expected to do every time you eat out, but I usually do 20%+ if I was satisfied.