One way to put it is (and how I explained it to a client once): if you do fixed price and estimate 100, but end up having 120 of work, then you'd need to quote 140 (40 padding) to the next project estimated at 100, just to make up for your previous loss. In the end the uncertainty costs everyone.
For people willing to find how to do better estimate, I can warmly recommend following Mike Cohn training:
I do something similar, in the middle of a fixed price and a best guess estimate (I can go back for an increase of hours).
The key to either is being accurate at estimating, which in turn means being able to find the number and size of potential unknowns/gotchas in an estimate.
Get good at that and it's a lot easier, especially on projects you have built from scratch, which lend themselves a lot better to fixed-price quotes.
So far this is the best advice I have seen in this thread. So +1 :)
I used to give fixed-price quotes and it burns you more often than not.