I don't tip based on food quality. The waiter/waitress can't control that.

I do, however, tip based on how the waiter/waitress .handles it if the food is not cooked properly, etc.

I don't feel obligated to tip out of guilt or being perceived as cheap, not at all. If a waiter/waitress is inattentive and/or rude, I let the tip reflect that!