I work for a Large Company doing home improvements. We will not do a job where the customer provides materials. I can't speak for other companies, but the reason we don't do these type jobs has nothing to do with the profit on materials. In my experience of over 20 years, most and I do say most, not all customers that provide materials buy the cheapest material they can find. They don't research and compare, they price shop. In many cases inferior materials can take longer to install than quality material because of lack of uniformity etc. Also the warranties are not as good. When a product fails, the manufacturer always blames the installer and you got a customer blaming the contractor when he just did his job. In the case of cabinets, countertops and windows to name a few, a lot of times they come in measured incorrectly and the customer expects the installer to be able to install anyway and doesn't want to pay for the added expense that come with improper measurements. Also, if the customer doesn't have the measurements correct, and material comes up short, there can be a wait for more material to come in. Now the installer loses money because they have to stop work and wait for material to come it. All the while the customer is upset because of the delays. In many cases, since the contractor buys much more material than customers, they buy much cheaper and even with a markup can provide quality material cheaper than the customer can buy their own. Another reason for having a Reputable contractor provide a turn key job is you have one person providing the warranty for the complete job. You don't get the argument from the supplier that the product failed because of the installer and the installer saying it failed because it was inferior. A perfect example is replacement windows. Most manufacturers offer a "lifetime warranty" but they will void the warranty if not installed to their specifications. If you provide material and labor, you don't have this loophole. Another area where customers wind up getting the short end of the deal is supplying shingles and having a contractor come in a installing them. Most of the big shingle manufacturers now offer a "Lifetime Warranty" on Architectural Shingles. Sounds great until you read the fine print and find out the lifetime warranty prorates after 10 years and some companies 5 years And the labor of removal and replacement of shingles under warranty is not covered. But there are factory approved roofing companies that supply all the material and you get a "Lifetime Warranty" on your job and does not prorate for 50 years and labor is included. With that long rant, I'm not saying that it is always best to let a contractor provide everything, but do the research and compare apples to apples and warranty to warranty. In many cases you will find out a Quality Contractor can sometimes be the best bang for the buck when doing a turn key job.