Think of them as oil in an engine. The best ones know how to communicate extremely well, are paragons of organization, and know how to facilitate decision making.
But the best company I worked at eliminated project managers about halfway through my time there, not because they were bad per se but because they simply weren't contributing anything. Teams had good contact with clients so had an understanding of which features were wanted (the team lead did have to prioritize client feature requests, but that wasn't a whole lot of work or argument). Engineers were perfectly capable of allocating assignments with a reasonable balance of fun and not-fun (and honestly I don't see how a PM is supposed to save you time there, unless they know what everyone on the team likes and doesn't like). And written, rigid feature specs would only have slowed us down - developers were trusted to have a reasonable sense for what a feature needed to be.