They get in the way majority of the time. They try to make decisions for their own self interests rather than empowering their teams to make the best ones possible. They don't say no to things, but rather use it as yet another opportunity for a "quick win". They get offended easily and have fragile egos with blunt feedback. Literally the opposite of every characteristics of a "good manager".
Many people in these roles are classic examples of narcissism and nepotism. Nobody has ever humbled them before or questioned their confidence that can easily be seen as an authority figure in most developer teams. I'm sad to be saying this, but I don't think many developers stand their own ground against these types of people and they should. Teams should be able to vote out their bad managers because it is so apparent on certain teams that there's a bad manager.
Even with decent managers on a team, you still hardly get anything meaningful done. You can spend years on things that have little to no impact externally, but will be praised internally because of the "hard work" done even at the cost of morale and questioning ICs saying "why are we still doing this?". Good managers should see through this bullshit and get the team to self-direct course by talking to everyone and getting a sentiment for a new common vision.
Bonus: Steve Jobs thinking most managers are bozos - https://www.youtube.com/watch?v=rQKis2Cfpeo