I
routinely tell clients "I am happy to take your money for X, but I do not believe doing so is in your best interest. Here's why: ..."
This can be anything from "Client believes they want X but X just isn't a good idea." (not too uncommon in SEO) to "Client wants X and X is a great idea but they could get X implemented for a fifth of the price if they weren't using me."
People hire me because I'm trustworthy and give them the warm fuzzy feeling. Those, and my own conscience, are much more important to me than squeezing an extra couple thousand bucks off of a contract.
I'll also tell variants of this to clients when sizing up contracts. For instance, smart people who like me routinely ask me to do pedestrian PHP coding, because I'm reliable and they don't know how to find a reliable PHP code monkey. (Canonical project description: "We have a site built on Wordpress which needs a plugin that interfaces with $EXTERNAL_API. Can you build it?" Yes, I could, but I shouldn't.)
I typically refer them to someone who I believe to be reliable, who charges much less than I do. (Though he should raise his rates, since he's reliable, and reliable is worth a premium -- as evidenced by people willing to pay $X00 an hour for PHP coding to get someone who will answer emails in a fairly timely fashion.)