Time is money. You bring a car in, and you want to have it back later that day, if not sooner. The indy garage does not have an infinite amount of space. Parts are needed to get the car fixed. And the garage wants the parts ASAP so they do the fix and get that car off of the lot and out on the street somewhere so the client can pick it up, and they can move on to getting the next car fixed.
The garage orders most of its parts from one shop. The price the garage pays allows for a nice markup to the parts distributer, enough to pay his driver, his employees and send his own kids to college maybe. He gets a lot of orders from that garage every day, all year long. The garage ain't getting those parts cheap, but they are getting them fast and delivered to his door. The customer gets their car back quickly, but pays for that privilege with an additional markup on the price the garage brought the part for, plus the labor charge.
Everybody is happy in this scenario because we have a customer willing to pay the necessary price to get his or her car fixed properly in a short amount of time with the garage owner who will make it right if the part fails soon after the repair.
Customers who want cheaper do it another way, first diagnosing the issue, determining which replacement parts are needed, finding a parts supplier, ordering it, making sure the proper tools needed for installation are available, installing it, and hopefully fixing the issue if they executed all of these steps correctly. If successful, they saved themselves quite a bit of money.
And no, I am not a garage owner. I am one of his clients who drops my car off in the morning, and happy to pay him the money needed to get my car back that same day all fixed and working properly.