After working in the food business and seeing how people can complain over the most insignificant things, I would say that complaining is fine, but don't complain over something irrelevant.
I really don't bother... I have felt like doing it a couple of times in the past, but why waste my time? Just don't go there. If it's something I order online or something, and the product has major issues when it arrives, then I'll definitely complain. But because of people just being stupid people... Just don't care enough to complain.
Unless there is something extremely wrong, I don't ever bother. I feel bad for sending food back at restaurants, even if it's wrong. I once had to send a burger back, because apparently to the cook "well done, fully cooked" meant "burnt and completely black" to them. I bit into the burger and it tasted like I bit into a piece of squishy charcoal. I felt really bad, and even apologized to the waitress to having to send it back, but she was like really apologetic that it got given to me like that in the first place.
I usually try to remember that everyone deserves a second chance. And I try to do unto others as I would like others to do unto me. That said, sometimes the service is so bad that I find it necessary to complain. This is not just to release my frustration, but also because I genuinely think such bad service is going to bring the restaurant down sooner or later. When I do complain, I try to be as courteous as possible while sticking to the facts. It helps that I try not to be condescending and try to be understanding.
Thankfully I haven't had many experiences where the service was so bad that I've had to ask to speak to management or write a complaint to the company. There have been a few times where I've gotten some sub par service from a worker, or have been displeased with the attitudes of some workers. Other than that though, I usually receive mediocre service at least, and at times, excellent.
What I can't understand is that people will go to the trouble of writing a Yelp or Trip Advisor review, but don't address their complaint to the establishment itself. There's more chance of something getting done if you let the management know directly.