I don't quite agree here, developers need to have an idea of what they're working to so they can manage their own implementation time. If you don't make developers aware, you put too much control in the manager's hand which isn't a good thing here (unless you're referring to a developer lead but even then, individual developers should have an idea of when they need to complete by).
Maybe - for many product inclined engineers, participating in picking and managing deadlines is an extension of authority and autonomy.
Additionally, some people need deadlines imposed to finish work. The alternative would be to fire them.