Depends on what exactly you are buying and/or whether the contractor lets you buy our own materials. On something like faucets or a sink, where they are many choices/styles, I can see them letting you buy it yourself. For others types of construction materials, some contractors don't want to get involved if the wrong items/quantities/sizes are ordered and you still need to transport them to the construction site if the store doesn't offer delivery. If you have an excess, some items can't be returned or only complete bundles (like roof shingles) can be returned or the contractor doesn't want the bother of being a 3rd party.
If you pay any contractor in cash (vs. a check) make sure to get a receipt. This avoids issues later on if they claim you never paid them.