Hacker News threads about tipping are always rough. US tipping is not complicated. You are being asked to share with a service worker's employer some of the burden of compensating them. The notion that you're rewarding exceptional service is a polite fiction. Depending on where you are, the tip is either expected or it isn't. Unfortunately for the mindset of a typical software developer, there won't be much clarity o…
Well, one could argue that this is effectively NOT making you feel better, quite the opposite. Empathy is what makes people feel better. So to counter-argue your point, tipping someone despite the fact you may have negative feelings about their service or judge incompetent, is empathy.
As a native French/European person, I've always thought of tipping as counter-intuitive, i.e. "why is the tip not included?". But after a few years in the U.S., I realized that this is actually a small gesture of appreciation that -- even if insignificant because so normalized -- will make the person serving you feel a little better about their job and themselves.
For that reason, I am now on the "always tip" camp.