I personally think that in the United States, it's gotten entirely out of hand. Years and years ago (30 years ago at least), i used to make tip jar signs for my bartenders, because they had to put up with drunks, and frat boys and other obnoxious wild animals, and i thought they deserved, especially as the owner paid them as little as he could get away with.
But these days, they have tip jars in in the damned coffee shops, in the ice cream store. For chrissake, clown, all you did was pour a cup of coffee (overpriced coffee at that) into a paper cup and hand it to me. You expect me to fork over a dollar for that ? ! ? ! ? I don't tip those clowns, and if they want to glare, i've got a duzy of a glare to shoot right back at 'em.
Once upon a time, one knew who to tip (or would be instructed in it by one's elders), and how much. For example, it was once tradition that one tipped cabbies 5% to 10%, depending on how long the trip took, because they get a percentage of the meter. These days, especially in cities, they'll bad mouth you if they think you didn't tip them enough, and meter be damned. The only people for whom i feel any sympathy (in the U.S., i'm saying, of course) are waiters and waitresses in diner type places, because they usually don't get much in tips, are paid an appallingly low wage (a special low wage, less than minimum wage) and often get stiffed. Waiters and waitresses in white tablecloth restaurants don't have that much of my sympathy, because they get tipped on much bigger tickets, and are much less likely to get stiffed. As has been pointed out, they are also likely to get a gratuity added to the check on large parties.
I tip people where it is to my advantage. I tip my haircut lady, because she does a damned good job (which ain't common, because i've got curly hair), and because she's a sweetie pie, and finally because i want to encourage her to do a good job next time. I'll tip delivery drivers well, too, if i know i'm likely to have them back again. I used to live near the Ohio State University, and there was a pizza place on the High Street, Baby Face Pizza, who had one of those unfortunate products--get it fresh and hot and it was great; get it cold and it sucked the big one. Well, i tipped the guy well the first time, and the next time i called, he was the guy who answered the phone. He was there in fifteen minutes, and the pie was so hot i had to let it cool off before i could eat. The word got around, and i never had to wait more than 15 minutes for a pie, and it was hot and good when i got it. My friends were amazed at the service i got, but i pointed out to them that i was paying for the service with my tips. (I suspect they didn't get much out of the student ghetto customers they usually served, and especially frat boys who are notoriously cheap.)
There was a Chinese place that i used to go to for carry out, when i moved to Hilliard, Ohio a few years later. I was in there in the afternoon a couple of times, and saw them making up everything fresh. The whole family worked like dogs doing their prep and set-up for the evening. You don't get dumplings and egg rolls freshly made at most places, so i was impressed. I started leaving tips, and at first they were nonplussed. So one evening when i stopped in on my way home (i had called before i left work), i explained tip jars to them. They seemed a little uncertain, but i got them to put a jar by the cash register. Americans understand that. Later on, i made a nice little sign for their tip jar. It was a watercolor wash showing Chinese-style red tile roofs mounting a wooded hillside, and underneath i did a nice caligraphy of: "Tipping is not a city in China." Within a few weeks, when i walked through the door, they would actually smile at me--at me, a round-eye. I'd order a stir fry and the guy would reach under the counter and get out a clean wok, and he'd fry up so much food the carry-out package was bulging. I'd order fried dumplings, which was supposed to be six for $4.00, and they'd give eight or nine. It was worth every penny i'd spent in tips, because they would really take care of me. Sometimes i'd call to order something and the lady (who i thought of as Mama-San) would tell, "No good, not fresh you want such and such." I'd go along with that. Definitely a case of you get what you pay for. A friend of mine who came over frequently to play video games had often worked as a delivery driver in the past, and he fully approved and understood, and they quickly started treating him like royalty too.
As for DP's question, in the States, you want to tip 15% in most restaurants, unless you really think they took care of you, in which case i'd advise 20%. In diners, where the ladies get run off their feet, i'd give 'em 20% or 25%. Cab drivers can have 10%, and screw 'em if they don't like it. If they complain, ignore 'em and walk away.
Other places, other customs. I don't know if it's still true, but when i was in Ireland in the 1970s, they'd be insulted if you tried to tip 'em. (A legacy, i suspect, of the tender mercies of the Anglo-Irish Horse Aristocracy.) The only people you tipped were cab drivers, and you customarily gave them 50p.
In Canada, waiters and waitresses actually get paid a decent amount in most places, so 15% ought to be sufficient. Elsewhere in the world, i really couldn't say.