I agree except for the "even if service is bad" part. I'll never reward incompetence.
Tough call, if he/she is tipping out kitchen as well, and the food is good but service is bad its a tough call. I find myself tipping 3-5% on poor service. I don't think at that level it is a reward on any level. Obviously if someone is especially rude or really fucks something up I might not tip, but I can only think of one or two occasions in which a no-tip felt appropriate.