I totally agree with you. When your service/food isn't good - send the food back. It delivers two messages. Never assume it's not the server's fault. It is as much their fault as it is the chef's. A good server knows the meal and should not bring it out if it's wrong. If I get a "wrong" meal or improperly cooked meal I send it back instantly. If the server is gracious about it and attempts to make up for it, they'll get a tip but they might not get as much as they normally woud have. If the server acts like I am just being fussy, there is no tip. If the second time the food comes out and it's still wrong, there is no tip. But - if I choose something different off the menu and it turns out to be something I really don't like, I make a mental note to never make the same choice again and stack it up as poor judgment on my part. People seem to feel if they order a dish that doesn't suit their taste, they have the right to send it back. They don't. (I had a customer who was buying 144 bags of no name tea. They wanted to know if they could bring it back if they didn't like the flavour because it was a lot of bags to use if they didn't like it! Not restaurant talk but still .....)
A good restaurant manager would prefer you to send a "wrong" meal back (if the restaurant made the mistake). Why? It's an opportunity to make sure the customer is happy, and happy customers say good things to other people. And come back again.
And a good restaurant manager will train the entire staff to understand this concept. That's how a good business is built - satisfying customers. It ain't rocket science. ;-)
(I like the tea example...never a dull moment when dealing with the public, eh?)