Of course this is a good message to send to big clients with big projects who merely "don't get it". On the other hand, there are a lot of small businesses and other clients with very limited means who have maybe $1000-$10000 for a project. Web development is new territory for them, and they have no other way to approach the problem other than to put a fixed-budget stake in the ground, and of course their requirement…
It's not unethical (as suggested by another commenter) because this is how you are able to afford a flat fee. I agree and want to expand a bit. Even if a change or addition only takes me 10 minutes of my time now, it's important to remember the months and often years of experience that I'm drawing upon to make that change so quickly. Explain to the client that they are not only paying you for your exact time, but als…
That's right. In flat rate contracts, the client is paying for the value being delivered, not time.