Other than the fact that Mercury, Apollo and Space Shuttle programs were developing a lot of technology on the fly for problems that hadn't been solved yet, let's not forget... when the Gov wants to build a rocket, every aerospace contractor comes out of the woodwork wanting a piece of the pie.
For the Apollo program- Aerojet, Grumman, Boeing, McDonnell Douglas, Martin Marietta had to bring together all their individual pieces- without really informing any of the other companies of recent changes. Hell, even Playtex (yeah, the bra company) had to build a large part of the spacesuits- they had the silicone expertise. Something like 375K contractors from 36 different companies, versus 42K Gov employees- not even all NASA.
Each one of those last-minute changes means contract mods. That's time and money that wasn't foreseen. Second- and third-order effects requiring redesign after redesign- before they ever get to a hot-fire test.
For a perfect example of why splitting the pieces up sucks, read about the
Mars Climate Orbiter failure. (kind of like having your new spotter call your shot "3 low". Three what? Inches? Mils? Oh, wait he's Swedish... I'll take metric units for 400, Alex.)
No such challenge when dealing with a single company. Build a little, test to failure, learn from the mistakes, improve the design. Rinse and repeat. It's called Agile development, and it's generally cheaper and faster.
You can't really "sole source" a project of that magnitude, either... you'd never get it off the ground (figuratively speaking) because every company that didn't get the contract would sue. (See the F-35 or JEDI... smh) So... the contract is to deliver X tons of goods and Y personnel to the ISS over Z flights. Best company wins the *service* contract.