The way that a contractor makes money is actually quite simple. While they may make a bit of money on the mark up of materials, this is not where they cash in the most. A contractor will make their money on the labor costs that the charge. This is one of the main reasons that costs for service will differ from one contractor to the next. You may find that one contractor is going to charge you a lower labor cost, and in turn, the overall price of the project is going to be on the lower side. But remember, contractors that charge less for labor may not do as good of work as somebody else.
As mentioned above, you need to make sure that you do not get overcharged by your contractor. Believe it or not, there are some people who do not know much about working with a contractor. In turn, they will hire the first one that they speak with at whatever price they are presented with. As you can imagine, this could lead to thousands of dollars of overpayment. At the very least, you should get price quotes from two contractors. This way, you will be able to compare the two prices to see what is actually available.
Overall, contractors who win a lot of jobs make a lot of money. And of course, a lot of garnering work has to do with setting fair prices. You should make sure that you know the going rate for a job like yours before hiring a contractor.