I don’t know the origin of the saying “The customer is always right”, but the customer is most definitely not always right.
I have worked in many roles in the service industry, from supermarket cashier, and computer salesman, to freelancer developer, and I can tell you that the customer is usually wrong, but in most cases it’s okay for them to be wrong, or at the very least we tolerate it.
Working in the supermarket, the customer has told me I was wrong many times on the price that goods rang up at, even though they clearly misunderstood what was on sale, but still they got the sale price on items that weren’t on sale.
When selling computers, customer repeatedly ignored my advice on what type of computer they should buy, or how much RAM or hard drive space they should have. They returned to the store after a couple of weeks to complain about how poorly the computer performed. Yes we would tell them, you are absolutely correct, you never should have brought something with those specs and happily charged them more to upgrade the computer.
Working as a designer and developer I’ve also run into many cases of the client being wrong. Despite paying money to hire you because of your skills, they consistently ignore you recommendations.
Yes they know their own customers and their business, but they’ve hired you because you have skill and experience they don’t, or they’d be doing it themselves. Whatever your position you have to make sure you are heard. Since you’re hired to do a job and the customer is paying the bills, ultimately they can make whatever decision they wish above your objections.
Again, make sure you are heard, even if it goes against what the client wants — don’t be rude about it, be professional and make your point. If you’re advice turns out to be right the customer will remember your objections. If you’re advice turns out to be wrong, you will have learned something and the client will remember that even though you objected you followed their wishes.
How have you handled disagreements with your customer?