Indeed, the world would be a better place if everyone could calmly state their feelings/issues when complaining. If they're forced to via punishment for failure to comply, though... I won't go into it, seeing as we agree. Suffice it to say that letting your customers vent some frustrations right off the bat makes it easier for them to think more rationally as the interaction goes on. If they don't calm down or hear what you have to say after repeated attempts to help them, then it's acceptable to end the interaction. Punishment should only be issued in extreme cases.
I don't know if it's obvious or not, but I am from the United States. Columbus, Ohio to be exact. My culture subscribes to the "customer is always right" mentality. Like any saying, it's not meant to be taken literally. The customer is not right about everything, but they are always right about something (if that makes any sense). They may not know what the problem is, or mistake it for a completely different problem, but they know that they are unsatisfied. That something is what the company needs to focus on, or find if the customer can't communicate themselves very well (at the very least try to find the problem). You can't do that if you ignore and punish everyone who comes to you with a less than pleasant attitude.