I'm a former waitress so things have to be really bad for me not to tip at all. In fact, I can only remember one time that I didn't leave anything.
If service is just ok, nothing out of the ordinary, I leave 15-18%. If service is stellar then 18-20%. If service is poor then 5-10%.
We recently went out to eat for DD's birthday. Service was pretty bad, although the food was excellent. Waiter never came for drink or appetizer orders, never refilled our water glasses, spilled stuff on the table and didn't wipe it up, never asked how our dinner was, never offered dessert. Bill came to $100 and I tipped $5.