There is a lot of that, but there is also the fact that you can get lulled into a false sense of "it is working" in general the motto is 90% of the work in 10% of the time and 90% of the time to get the 10% more done, and the devil is always in those 10% that often hinge on decisions made during the 90% phase.
It also depends on the requirements, and what the actual thing you want done. For software, sure you can probably patch it and there are some inconveniences you can live with depending on the clients requirements, for hardware... a little bit tougher... But it still depends on what is being done and what are the constraints, as long as people are reasonable, usually, it works out... Except that people rarely seem to be reasonable...