“I should buy the materials myself to save money.”
First, if you’re providing materials to save money on your remodel project, there’s a very good chance of getting the wrong or not enough materials. Having most professional contractors will not be interested in working under these conditions and for very good reasons.
The wrong materials delivered, working with poor quality materials or unfamiliar suppliers is a source of major frustration for contractors and may cost them time and money. Most will just avoid this arrangement altogether.
Second, the markup that a contractor makes on materials is not discretionary. It is needed to cover the cost of operating expenses that are required to run a successful business and to make a reasonable profit. If a contractor is not able to make this money on the materials, he will have to make it up somewhere else, usually by way of higher labor prices.
Oftentimes, the contractor has negotiated discounts for many of the different materials they use to help offset their markup. Sometimes the discount is substantial enough to cover the entire markup.
Sometimes, contractors will have you supply the materials, particularly when the materials are out of the ordinary. You will want to be careful with this arrangement because many times contractors do not offer a warranty on items not supplied by them. It is best, in my opinion, to just let the contractor provide all materials. This way you are safe, the contractor is happy, and there is no confusion about who is ultimately responsible should something go wrong.