I say this as someone who has worked for both very dysfunctional management as well as very functional, process oriented management. The difference between how well customers were served was like night and day. Some issues that contributed to the dysfunction was lack of training and lack of feedback.
Also, in many places tips are pooled, every single person I know who was a tipped employee was part of a tip pool, so you probably taking away salary from an amazing server in the process. Sometimes back of the house is tipped out a small percentage as well.
Restaurant service is, above all, a team effort, so basically tipping is super unfair no matter how you slice it.