When bidding on a job for prospective clients I am often asked why there is so much difference between the prices each contractor puts forth when quoting on a job. Clients are obviously inclined to go with the lowest bidder; however, this doesn't mean the final price will be any lower.
A seasoned contractor does not underprice his work to prospective clients. Low-ball pricing may result in significant add-ons due to customer requested changes, unforeseen problems, or the timing of the finished product. Frequently, new contractors underestimate how long jobs will take and don't factor in the true price of labour to get a job completed. As a result the final price is much higher than the original estimate. Once the project is underway it is often too late as switching contractors will cost even more.
In the end, it's important to realize that you get what you pay for. Be careful to enter into a contract with your contractor that takes into account changes, upgrades, and add-ons. This way you know in advance what the final price will be.