My mother has drilled into me that another part of the reason is that medicare happened. During the creation of medicare, the panels did a lot of research into how much each and every doodad, whatchamacallit, thingamajig, and piece of gauze cost. Prior to this new concept of itemization, supposedly it was coverage for an outcome of sorts. It was x dollars for a broken arm, including diagnosis, xray, and casting. Because medicare administrators wanted to understand where the cost was coming from, doctors and hospitals found themselves having to itemize each bandage. This required additional procedures and personnel. They discovered that they could get cost + x% for each item; each procedure.
Previously, diagnostic testing and treatment were bundled. Now the doctor had to itemize when he put his hands on a person, if he used X tool (stethescope, whatever), and got paid more if he used tools X, Y, and Z, even if it was silly to use Z in this circumstance, because the average doctor used X, Y, and Z. Additionally, if he used tool R, he’d be paid more, because obviously this was a more difficult case. So now instead of saying 35 dollars for the broken arm, he has to say 20 dollars for my time, 5 cents for the little plastic cap on the thing they look in your ear with, 20 cents for the two cotton balls, etc. Doctor Sneaky ups the number of cotton balls used by one, or charges 6 cents for the plastic cap, and everyone follows suit. Over time, you add more procedures, more to the “normal” expectation of what is used, and increment the administrative costs.
Insurance companies started covering more to compete with medicare and each other, and at the request of businesses to make those jobs more attractive. Escalate these over multiple years, and you end up with our current hodgepodge.