There are two things I've decided are true, regarding project management.
#1 - "Those who manage best, manage least." Spend the minimal amount of time on project management. Even project managers should spend a minimal amount of their time "project managing," which leads directly to #2...
#2 - "Project manager is a task, not a job." No one in the company should be a "project manager," and nothing else.
The rationale is that if project management is a job, project management becomes the sole work output. And optimizing for that output leads to all the worst excesses I've seen at companies. And consequently, all the shit products (or shit design choices within good products) listed.
If you have a perfectly tracked project that took 100s of person-hours to generate and update tracking docs, what does that do for your end users?
People do their jobs. Make sure everyone's ultimate job is to bring value to the company.
PS: And to head off the complaint that this ignores project scale, your company is not IBM. You don't have the management problems 1960s IBM had. So stop using solutions to "How do I orchestrate the progress of 100s of developers all working on the same project?!" Because the number of projects that large, that can't be broken into subprojects, is very few.