If you are good, and you always manage to deliver within your time budget, the risk premium compensates you for the risk you are assuming.
Fixed price contracts require stringent change management. I recommend that even zero-sum changes go through a formal change process, so that your customer understands the difference between a fixed price and an hourly rate contract.
There is more potential conflict with a fixed price contract. There will be disagreements whether a particular item is included in the scope. This means you need to be more precise when defining the work.
The items you mentioned (documentation, etc.) have no bearing on whether you are quoting fixed price vs hourly rates. If the customer wants these things, they should be included in the paid scope of the contract. Your focus should always be on delivering software that delights the customer, because only then will you get repeat work.