I agree that if you don't get good food you should complain, but sometimes that just doesn't work.
We went out to eat yesterday and I don't know if our waiter was new or just a bad waiter. I ordered a salad with dressing on the side - the salad came with the dressing already mixed in with everything and it wasn't the dressing I ordered. When I quizzed the waiter about it he just offered to bring me the dressing I ordered - not the fix I expected. By the time I got to speak with the manager everyone else had finished their meal and my son had eaten the salad that I left. The manager did give me a coupon for a free salad on another visit.
Maybe I need to be a little more assertive - I didn't order this, take it back and bring me what I ordered.
YOU are the one paying the bill---you should get what you ordered!
ALWAYS be direct, tactful & specific about what it is you want.
My folks had an issue at IHOP a while back...the waiter messed up & didn't want to change it, so my folks didn't press the issue. I was so upset with them!
As a waitress, it was my resposiblity to get you what you ordered, and fix it if I didn't! And in the many years I was a server, only ONCE did I have a customer send something back "because we just don't care for it..." There does seem to be an unwritten rule (that I think we as customers understand), that it is reasonable to send food back if it isn't prepared to your specifics. BUT just cuz it isn't to your taste...well, read your menu carefully.