At the risk of sounding inflammatory, many home owners want everything cheap as humanly possible, so they find people willing to do it for below minimum wage (immigrants) and buy the cheapest, warped material they can find at Home Depot. Sometimes spending a little extra money for expertise is worth the sacrifice. You are, after all, paying for a service that affects the most important piece of property you own, and you may have to live with a regret for 30 or more years.
Now days, you can get references, see photos of prior work, and of course someone with high quality tools (not Craftsman) and a truck is likely to be a better choice. Someone that is willing to say "no" to you is also a good sign.
For the record, many home builders also think this way. Unfortunately, most home buyers and owners don't have any sense of what qualifies as quality materials or labor.
I decided not to take him to task for it, since he was probably giving me the price his company told him to, but it was still irritating and something I'd like to avoid repeating.
If he's keeping a stock of a lot of parts it can be worth a markup. But in general the cost of having someone buy a part and install it vs. buying the part yourself and paying someone to install it should be pretty close.
If you want to take that on yourself (and it's not really difficult, fundamentally) you can save that markup and the shop's labor charges. I used to do this a lot more than I do now, because even though I enjoy working with tools and fixing mechanical things, when I compare spending 3 hours replacing a water pump on my car to the opportunity cost I very often decide its not worth it (this has changed as I have grown older and my free time has become more valuable to me).
It's a something you have to weigh off, and decide yourself. I'd rather pay someone to work on my car now and be able to spend that time working on projects and making money than work on my car and spend those hours on that (although I do miss it tremendously, that's what getting a project car is for though ;-)).
See, this is acceptable, but no one told me this.
Before undertaking any major project study it intensively, and you'll feel much better about it.
If you can't do the study yourself then find a trusted, disinterested, 3rd party to do it for you. (Of course that entails some study itself...)