"The client is always right" - I don't subscribe to this.
Here's my reasoning. The client I feel hires me to be their design "expert" .. meaning they are hiring me not just for my design skills, but also my understanding of good design and my expertise in this field. I feel it's my job and responsibility to make sure the client gets the best design and is also educated about it in cases where they feel they know better.
I regularly 'fight' for what I think is right. I realize not every client likes that approach, but in the long run those who resist most times realize in the end that the product does come out better if they let the designer's opinion count.
Some may see this as being an 'elitist' designer... I don't agree. It's using my skills to do what's best for the client. I always take the client's feedback very seriously, but if I feel that they are making decisions that will be detrimental to the goals they are trying to achieve, I'm the first to say so. I think most clients respect that .... if not always immediately though