I charge $100 because I really feel the effort is worth $50 to me and the client won't pay more than $100. Think of it this way: The lower bound is set by how much I feel the effort is worth after taxes. The upper bound is set by how much I think/know the client will pay. If half of the upper bound is less than my lower bound, I don't do it. This way I don't under-charge.
By over-charge, I meant to say that even though I feel my effort is truly worth $50 after taxes, I don't have to worry about charging $100, because I'm not really over-charging the client since half of $100 is going to taxes. Without taking 50% taxes into account (which is what a lot of people do), asking $100 for something I truly feel is worth only $50 feels like overcharging.
Over-charging new clients is never a personal issue because they can always say no and walk away. But over-charging existing clients can cause you to lose a steady stream of income, especially after you've invested time and effort to establish a relationship and understanding of their needs.
Why not? If you could (should) be charging $120 then that'd be $60 of future spending.