Part of the problem is that research positions tend to be for Ph.D. students and post-docs who cost less than permanent research scientists. This is good in the short term for the individual grant, but has the side effect that to continue research we have to produce more Ph.D.s than there are permanent fair-paying academic positions for.
Even though students are individually cheaper, I'm not totally convinced that a largely-trainee work force is really the most cost-effective overall[0].
My postdoc lab has gone through 3-4 (and counting) cycles of figuring out how to perform a certain type of experiment, only for the person doing it to move on. Having someone quasi-permanant to keep that knowledge around would not only let the experiments go a lot faster, but it'd save on very expensive, very fragile consumables.
[0] Not only are students/postdocs individually cheaper, but there are also lots more sources of funding for them, so it might even be rational for a lab or department, even if it's not actually true for the funder.