When paying for the exact time and materials you get exactly what you paid for in equivalent work hours and their output. It's a more flexible arrangement where if the client has new or evolving requirements we can pick them up without having to re-negotiate the whole contract. I remember at least one fixed bid contract where we ended up working nearly six weeks extra and the agency had to eat that cost so we made nothing in profit, but at least fulfilled the contract.
I try to pad my estimates appropriately either way so we are usually on the under side of our quoted estimate for a given project with some wiggle room. Clients always appreciate when the work ends up being a bit cheaper than the quoted estimate. On the other hand, if we don't complete something the client does end up having to pay more (or source elsewhere, but almost always they prefer to keep us on if we've been doing good work for them).
If you fail, I get promoted for protecting the business by not doing it myself. If you succeed fast I look bad.
To give you an idea, we just hired a company for a $10,000 project they failed to deliver and we have no other option but to throw more money. Generally we have already figured out it will take us 2-3* the cost of what the vendor wants. So double check your work because if you screw up we may not hire you again.