Here is when all your intellectual capabilities and moral convictions must be applied. Here is when you must weigh ethical obligation versus practical justice.
Sure, we all know that those who wait on us at restaurants depend on tips to make a decent living. But we also recall that the original purpose of tipping had to do with rewarding good service. What do we owe them versus what do we owe ourselves?
The whole experience of eating out very much depends on more than just the choices and quality of the food and perhaps wines, as well as the ambience of the restaurant. It also depends on the kind of service we get.
When the service is bad we tend to get upset to varying degrees. There are so many ways for a server to kill the experience: overly slow or fast delivery of drinks and meal courses, delivery of something other than what was ordered, mixing up dishes among those at the table, spilling water or other liquids on you, interrupting conversations with unnecessary jabbering, not telling you about specials not on the menu, never delivering something that was ordered, never asking if you want more bread or water, serving dishes that should be hot but are not, and being unable to give you simple and accurate answers to questions about items on the menu, for example.
We have every right to ask: If bad service is not punished, then how will servers recognize their inadequacies and correct them? As much as outstanding and unusually great service should be rewarded with a generous tip, don't we have the right and responsibility to send a clear message by leaving no tip for terrible service? I say yes we do.
Some may think there is more than a tip or no tip choice. Does leaving a small tip really work as well as leaving no tip? I think not. The tendency is for the waiter or waitress to curse the bad tipper for being cheap, rather than reflect on their own deficiencies.
Leave no tip and you send a much clearer message, a more definitive decision by you that cannot be misinterpreted or discounted: rotten service. You are doing something that might benefit many other people if the server corrects their ways.
This is especially the case if you also communicate in a polite way your disappointment with the service, so there is no possible way for the server to interpret that action.
You also are more justified in leaving no tip when there have been several types of bad service, so much that you cannot excuse or dismiss all the bad service. In my experience this is usually the case with incompetent servers. When your entire experience of eating out has been crushed and when many things you looked forward to have been displaced by negative emotions, then the way to feel better is by not leaving any tip. Feel justified. Get even. Punish incompetence. Send the right message. On the way out try to tell the manager that you did not leave tip because of unsatisfactory service.
Take this tip about tipping seriously.