I've worked with too many who were severely under-qualified to deliver basic data and reports. They absolutely couldn't (or wouldn't) identify gaps up front so that they could bill more and more to fix what should have been in the original delivery.
It was an eye-opener to me the first time I got dragged into a project to "enhance" an original program. The original program was so poorly done that the "enhancements" were impossible without redoing the entire setup; software, hardware, everything. It violated basics of data and standards of the industry we were in. Since redoing the entire program was never going to be in the budget, it went nowhere. The operational and decision making losses to the business were in the millions.
The worst I lived through was a software rollout in a multi-billion dollar company. The VP of the division was beyond frustrated and forced the contractor to roll it out two years after it was due. It should have been very straightforward but it was garbage. Actually, it wasn't just garbage, it was outright dangerous as it was tied to financial systems and lied to the users. The worst part about it was that they didn't retain the previous systems and run both in parallel so the users were screwed the moment the rollout happened.
The VP and the company would have been better off scrapping it completely and taking a financial loss on the whole thing. The division and those they supported never recovered. The flood of analysts' departures started immediately. They knew they couldn't do their jobs with that flawed tool. The company lurched along only by customer demand for the next several years before it went completely out of business.
Kind of like this: