If the food or service is really bad, I'll then tip 10%, but not without making the observation to the manager or person in charge. I've gone as fas as putting it in writing, with the name of the waiter if that's the problem or the date and time of my visit in case the cook is the problem. To my surprise I've gotten replies with apologies and coupons to return.
People that wait tables live on tips, so I'll tip even when the service is less than expected.
DY