I'm hoping Elliott misspoke. I've been a waiter, and it is infuriating to bust your butt at less than minimum wage, KNOW you did a great job, and not get tipped. Since the U.S. has this tradition of the majority of server's income coming from tips, failing to tip, without a good reason, is akin to forcing the waiter to pay part of your meal. If everyone would prefer, we could do as other countries and charge more for the meal, and the waiters would be paid more by the restaurant. Then you can suffer through the crappy service I have received in other countries.
Despite all that, this is my recommended scale: Really bad service gets stiffed, no tip at all, but be sure the problems were your waiter's fault, and not the result of kitchen or management errors. If you got bad service because your waiter is trying to handle 8 tables, it's not the waiter's fault. But when you stiff a waiter, make sure you provide specific reasons to the management for two reasons: first, so they know you aren't a scumball who never tips, and two, so they know they have a bad employee.
If your server does the bare minimum, tip 10%. Average service, 15%. Good service, 20%. Really going out of their way, or doing a good job despite problems not their fault (busy night and understaffed, etc.) 25-30%. If the bottle of wine did not come with wine service (server presents bottle, opens, pours, etc.) I don't tip on it. If it does come with full service, I do the same percentage as the rest of the bill. For those of you who have never waited on tables, on a busy night, providing wine service or making cappucino, boning fish, etc. can really play havoc with providing the rest of the service duties.