There is a huge misconception about cost-plus contracting. It's actually the least expensive way to develop new technology, that's almost exclusively where it's used, and it's designed as a risk mitigation factor. In essence, if a company had to bid to develop some new technology, it's essentially impossible to estimate, so they would have to inflate their numbers pretty drastically to ensure they could cover their costs. In other words, to mitigate the risk of overruns, the company would inflate their price to way more than it should cost, since they are uncertain about realistic time-frames.
To mitigate this, the government will pay a company their actual cost plus a reasonable profit. This transfers the risk to the government, reducing their overall cost. To prevent abuses, the government must approve all costs, so they will place an engineering team with the contractor to perform this task. Contrary to popular belief, this system makes a great deal of sense as it relates to bidding risk, and is actually quite difficult to abuse.