I don't tolerate poor service anywhere.
I never take it up with the waitstaff though. That's not my job. It's the manager's.
I politely go up to the front, and ask the host/hostess to speak to a manager. When the manager arrives, I plainly state the issue(s) and basically say it with a "this is not okay" attitude. I try to elicit sympathy and the feeling of "YOU wouldn't want to be treated this way either." Most often, if I have to complain, it is because the waitstaff is MIA and there are things we need that we are not able to get.
When the FOOD is the problem, I obviously mention something to the waitstaff, but then I ALSO ask for a manager to come to the table, just so that he/she is aware of the issue (I only do this when the food is undercooked, or otherwise unsafe). If the food was brought out wrong, I take it no further than communication with our waitperson. Mistakes happen, and OFTEN it is the kitchen staff, not the waitstaff, that is to blame. So, getting angry at your waiter will just ensure lousy service for the remainder of the meal.
I also don't understand all the bad reviews of a restaurant when it's the SERVICE that is the problem. Why not speak up??? What do you have to lose?
ALSO, I get SO sick of reading "we arrived on time for our ADR and we STILL had to wait X number of minutes to be seated..." An ADR just means that you will get the NEXT table that will accommodate your party once you show up. It's not like they are holding a table for you an hour in advance. There is nothing they can do if people are lingering at the table longer than the "average turn around time". This tends to happen more with larger parties (larger than 4) because there are VERY few tables at most restaurants that will accommodate more than 4. These groups also tend to take longer to eat and all be ready to leave at the same time. You have to EXPECT a wait once you arrive, so I always arrive about 15-20 min PRIOR to the ADR time, so we will be eating closer to the time I made my ADR if we do have to wait. Being starving at 7:30pm for a 7:30pm ADR at 'Ohana is just not a good thing...