Here's my take:
When contracting with a company for lodging, travel, food, etc., there's a certain expectation of what's going to happen on the part of both parties. I'm going to pay a predetermined rate and you're going to deliver X. If one of the parties doesn't live up to their end of the bargain, then the other party certainly has a right to complain and expect compensation.
Someone above says you shouldn't complain about a lumpy bed in a hotel. Well if you're staying in a luxury hotel, let's say, isn't part of what you're contracting for a flawless stay? If the hotel can't even deliver a comfortable bed, arguably the most important part of the hotel stay (luxury hotel or not), there's a problem. It's like the hotel only delivering 75% of what it contracted for. How is that fair?
Let's say I have a perfectly fine stay at a hotel. At check-out would it be acceptable for me to pay 75% of the room rate instead of the full amount? No? Then why is it acceptable for a hotel to live up to 75% of its obligations to you?
I give companies a lot of feedback - positive and negative. If everyone lets things slide and no one reports problems are praises the good, how are companies going to know what's working and what isn't? How are things going to get better?
I know when I have clients I want to get a lot of feedback from them so I can see how things are going. Why is that supposedly a bad thing?