If there is a problem with the food being the wrong item, or having a caterpillar in your salad, quietly say to the server, “I’m sorry to bother you, but I ordered the chicken, not the fish, would you be able to get me the chicken instead, thank you so much.”
It usually is an honest mistake coming from the kitchen. So loudly, or angrily blaming the waitstaff is not going to help you, but asking them kindly to assist you is going to get you better service.
I don’t think people should complain if they simply don’t like the taste of the food. There’s too many picky people that don’t like certain things, and those people should not eat out at restaurants.
Because I’m a vegetarian, I have to ask lots of questions before I place my order. I try not to be one of those people that seem whiny, so I apologize a lot ahead of time. Like, “I’m so sorry to keep asking you all of these questions, but I’m a vegetarian so I just wanted to make sure that the broth is not chicken or beef stock, would you be able to check for me. Thank you so much.” One of my friends is highly allergic to peanuts, so she has to do the same thing. But if you are super polite, and apologize in advance, it’s better for everyone.
If you get something that is obviously raw, when it should be cooked, again employ, “I’m sorry to bother you, but it looks like this chicken didn’t get quite cooked all the way through, would it be too much trouble for you to ask the chef to throw it on the grill for a little bit longer, sorry about that. Thank you so much.” I’ve found that if you are the one doing the apologizing and being polite that you’re going to get much better service.
If it turns out that the wait person was being rude to you, your best bet is to wait until after you have eaten, then either say something directly to the wait person, or better yet, avoid doing that and have a word (right then, or later in a letter, e-mail or phone call) with the manager. Just make sure you try to get the person’s name and note the time of day or evening and date that you ate there, so the manager knows exactly who you are talking about. And be super polite when you talk to the manager.
No matter how bad the food tastes, or how wrong the order is, or if a bug accidentally ended up in your salad, there’s no reason to get angry or start making nasty, or loud comments. It’s just not helpful and will probably make you appear to other diners, or your own companions that you are being a boor. Just be calm, and be super-polite in the way that you ask for changes to be made, and thank the person for assiting you.