
In the 21st century, restaurant staff, hotel staff, cabbies, hairdressers and the like should be earning a decent wage and shouldn't have to fawn over customers for a few extra quid (or worse, just expect to get it anyway).
I always give tips, unless there's a very good reason not to, as I assume the person is probably shockingly underpaid and in urgent need of any additional cash I can put their way. But it's an unreliable income, as many people withhold tips for trivial reasons, or refuse to tip on principle.
And it's a bloody nuisance having to think ahead about possible tipping situations and make sure I have a supply of appropriate notes or coins. It's acutely embarrassing when a tip is expected but I simply don't have the readies.
Servers, chambermaids or whoever shouldn't have to be artificially polite and grovelling because they're desperate to pay the gas bill. They should be able to relax and just do the job as they see fit, knowing their pay packet will cover their needs.
Tipping always feels like some absurd colonial hangover, like giving beads to the natives or rice to refugees. It's not in any way an exchange between equals, it's always a patronising favour.
Oh, and if you still add the tip to the restaurant bill - don't! The server might never see a penny of it. Always leave it on the table or give it to the server directly.