If you stiff someone you are stealing from that person and have richly earned all the torments of Hell for eternity
My general rule is "never stiff a poor man".
OTOH, reducing a tip for poor service is not stiffing a waiter. It is educational, especially if I say why I am not satisfied. Lately my family has had a a few experiences with items which were never brought to the table, meals where one entree is served much later than the others, some entrees served cold, etc. This is not good service, and a full tip does nothing but guarantee that it will continue.
There are two sides to the tipping equation and both must keep their side clean. And, don't even start to say that the waitperson has little control over the kitchen staff. Tips are meant to be shared by the entire staff. If the waitress has a lower salary and lives mostly on tips, she does not have to share 50-50, but if she stiffs the kitchen staff, they will give her poor service.