I live in a country where people are actually paid to do their jobs and tipping doesn't happen. When I visited America I couldn't believe the rudeness of people who expected *me* to pay them for doing their jobs, especially when doing their job yourself (like a waitress) wasn't an option.
Now, of course, I know better. :D Is the intention to ensure good customer service by making their wages reliant on their efforts? Or just a money-saving trick that employers can't believe their customers actually support them in?
Considering waitresses only make about three bucks an hour because they're salary is based on tips I think 15-20% tip on average is fair. I always try to give something, even when I was a younger and had to scrape enough money to go out to a cheap dinner. I'm sure I'm one of the few people who tip delivery drivers.
Not all waiters and waitresses deserve 20%. I almost always tip 20, but rarely do the wait staff deserve it. Usually they see someone under 30 and they don't think they'll get a tip, so I tip very generously to the people who give great service.