This is the catch 22 of any business. If you don't know something, either you hire people with that knowledge or you contract it out. If you can't properly supervise the work/project/acquisition because you don't have enough depth of knowledge, then it's very hard to get a good solution. In the end, the government is at the mercy of private industry because the government can't be the best at everything.
The governement ultimately does have experts, but there are too few and they're spread too thin. They end up not having enough knowledge to make unilateral decisions
They also are often in semi-indepedent roles competing again the small businesses. Think of the JPL or all the "Labs" (Lincoln, Lawrence etc.) or the teams at MIT. They have their own agendas which doesn't hold technology acquisition as it's focus ( it's more about supporting the funding of their lil corner)
But I think the implicit goal was to have a certain mobility in the market where new more nimble player can float to the top and crusty old companies can sink. And the system doesn't accomplish that. If it did, maybe it would justify all the incredible waste involved
All the big projects force the big guys to subcontract to smaller companies
The problem is actually completely different:
There is no way for a "little guy" to become a midsized company b/c the government is completely incompetent and relies on the huge defense contractors for guidance. The gov't has VERY little internal expertise - so if you have a brilliant new idea that is perfect for a midsized company to execute (which will often have to be on an existing platform built by one of the big companies) they have to go to the big companies to see if it's feasible. The big companies ofcourse say it's impossible and then (if it actually was a good idea) they steal the idea and implement it themselves.
So unless you can go from doing SBIRs (ie. under 200 employees) to build a whole tank on your own - you're fucked