You are probably not comparing apples to apples.
EXAMPLE:
You get 3 estimates on your roof.
One for $12,000, one for $15,000, one for $17,000.
Which estimate is the best one for my project?
Ask each contractor what he measured the size of your roof at. (Not how much material he is ordering, he may need extra materials to install the job), but how "big is your roof"?
This is a great first step. Compare measurements.
You will be able to determine from his answer if your contractor is bidding your job based on the correct measurements. That can be your answer right there. Keep in mind measuring the roof is hard work, even the finest contractors read a tape wrong or make a math error. This report saves over-ordering (over-paying) and under-ordering (underpaying) and huge headaches.
By all of the contractors bidding on the same size project a homeowner can then compare other factors in the bids. Are you paying extra for a craftsmen quality work? Is the contractor licensed and insured? Is he including any value-added features? Are the roofing materials the same? Are they tearing the old roof off? Are they including estimated damage or repairs?