Fixed bids suggests the waterfall approach meaning that you have 1 deliverable and 1 delivery date.
And fixed bids suggests that you have all of these things in order to accurately bid: object model, wireframes, use cases, test script, etc...
Companies that place fixed bids are hungry to get business so they will do anything to get the business.
The other, and more successful approach to deliver a product, is using the agile approach. With that approach you have many deliverables, each 2 weeks apart, and many chances to change or adjust the design. Unless you are doing exactly the same thing you did before, there will be changes!
Fixed hourly rates makes total sense for software development, and I have been successful using fixed hourly rates with an agile approach.