Sub-specialists are needed and are important for a variety of reasons, including realistic demands on training time. If my loved one had a single medical issue, I would certainly wanted them operated on by the person who does nothing but that operation.
Woe is the person with two complex medical issues in a hyper-specialized hospital institution. Consider the situation where someone has two medical problems in direct conflict with each other. For instance: some people can develop chronic subdural hematomas (translated: blood clots on the surface of the brain) which causes neurologic dysfunction. The general advice here is to stop any blot-clotting medication someone is on, to prevent further bleeding or expansion of the cSDH. However, what if that person has an artificial heart valve and needs to be on blood thinners to prevent strokes?
How do we proceed? Ask the neurosurgeon, and the answer is "stop." Ask the cardiologist, and the answer is "don't stop."
Sub-specialization is happening, and it's important. But it turns physicians into finer-grained hammers: so every problem they can hit becomes a nail.
In my opinion, one will always need generalists to make the tough calls and to identify which specialist is required. The only way to train generalists is to know what the outcomes are for both stopping and continuing the blot clotting medication.
(resident neurologist here) :)
I unequivocally agree with GP poster about the value of generalists. The systematic devaluation of internal medicine physicians (by this I mean not ABIM subspecialty boarded) is a tragedy.