And I mean everyone. Don't hate the player (waiter), hate the game (tipping-based economy).
Even if you are broke. Even if your meal was a billion dollars. Even if your food was shitty, or slow. Even if the air conditioning vent is blowing on you. Even if the kid at the table next to you is being a shithead. Even if you had to wait for a table, despite your reservation. Even if you are paying with a coupon or gift certificate or Groupon or anything like that.
Even if the service was shitty. That's right. Even if the service was shitty. Because a minimal tip is just paying the person to take your order, wait on you, and bring you your goddamn food. Extra is because you think they deserve it. Minimum is because THE JOB GOT DONE. Fucking pay the tip.
"But Hello_My_Lover, I had to wait forever for him to even take my order and then he only refilled my drink once and we had to ask for the check and" bla bla bla. DID YOU EAT? DID YOU DRINK? DID YOU SIT AT A TABLE AND GET SERVED? Then tip the minimum.
I think the only instance you can maybe stiff, would be if the waiter OUTRIGHT and EXPLICITLY tried to make you miserable. Spit in your food, insulted you, sassed you, dumped hot sauce on your hair.
I am probably preaching to the choir here, but I can't even go into that article on the mainpage about the waitress who got stiffed for being gay, because the comments are full of the usual assholes who think they are somehow better than tipping (read: cheap).