"The customer is always right." It's one of the oldest adages in business. You've heard it over and over again, you've probably even said it more than a few times, but is it really true?
In short: Of course not! To take the approach that the customer is always right is to compromise the quality of your product and suck the spirit of innovation out of your business.
First, let's talk about product quality. I'm often asked by clients to do things I disagree with, and I will always push back on a client when I know they're asking me to do something that shouldn't be done - or at the very least, should be done in a very different way than what they're asking. After all, that's what you're paying me for. If you knew how to do everything I do better than me, then why hire me in the first place?
I even go so far as to write this into my software development agreements. I have an entire paragraph dedicated to informing clients ahead of time that part of what they should expect from us is to let them know when what they're asking for is stupid, explain why it's stupid, and suggest a better alternative. Ok, so I would never tell a client what they want is "stupid," but you get the point.
Let's be clear what we're talking about here though. This doesn't mean you're throwing customer service out the window. Quite the contrary, actually. If you're an expert in your field, your advice and opinion matters ... a lot. It's based on knowledge and experience you've cultivated that makes it truly and uniquely valuable. When you say "no" or offer an alternative solution, it should be precisely BECAUSE it's the absolute best way to serve your client. The key is that you've already proven that you truly are an expert in your field that's worth listening to.
On the topic of stifling innovation, the quote that comes to mind is one that is often attributed to Henry Ford (most likely incorrectly, but it's still a great quote nonetheless), "If I'd asked my customers what they wanted, they'd have told me faster horses."
Saying no and doing new things is hard; saying yes and always listening to your customers is easy. The problem is that customers often don't know what they want until you give it to them. After all, how can someone know they want or need something that doesn't yet exist?
The topic of disruptive innovation is common fodder for business pundits these days, but perhaps nobody has done a better job of explaining how difficult it truly is to be a disruptive innovator than the man who coined the phrase, Clayton Christensen, in The Innovator's Dilemma. Christensen's book (if you haven't read it, I highly recommend it for any business owner or manager) illustrates how difficult it is to create disruptive innovation even in extremely well-run organizations. One of the biggest reasons? All well run companies listen to their clients, but innovative companies know when not to listen to their clients. (If you want some more reading on the subject, check out Seth Godin's Purple Cow.)
A good practical example is the team from 37 Signals / Basecamp. In their own book Rework, they go into great detail about how they've built a multi-million dollar software business by frequently NOT listening to their clients, even if that means allowing a client to grow out of their product. This has allowed them to keep their software simple to use, avoiding the bloat that often accompanies products that have been on the market for a while.
From my own experience, most of the client requests I say no to stem from a lack of subject-matter knowledge. This is not only understandable but expected. If all of my clients were experts in my field, they wouldn't need me. So a big part of my job involves educating clients to help them solve their problems faster, cheaper, or better using solutions they didn't even know exist.
So embrace the power of no. Stand for something. Show your clients why they work with you and make them trust you because you consistently deliver exceptional value, even if it's not what they thought they wanted at first.