I actually don't think your parent was asking about shitty service, I think they were asking about if the service was good but the food itself was bad, in which case yes, they should still tip, right? Which I guess could seem unfortunate but that doesn't seem worse than no-tipping systems for that case, so.
Bad food---> Ask to see a manager and complain, leave appropriate tip (20%).
Bad service---> leave little or no tip.
Long wait for food---->If server says nothing, leave little or no tip. If server apologizes and says they're having issues in the kitchen ask to talk to manager and leave an appropriate tip.
Drivers are reasonably paid without the tip (as opposed to, say, waiters) so you really can just tip for exceptional service.