Qual a necessidade de ser ter bibliotecas para a injeção de dependência?

Bom dia pessoal,

Estou aprofundando meus conhecimentos em Design Patterns, surgiu a seguinte dúvida.
Percebi que todas as plataformas possuem bibliotecas que auxiliam a injeção de dependência, então qual a motivo / vantagem de se ter uma ferramenta para se fazer essa tarefa, visto que posso fazer a injeção através de construtores e setters?

Grato.

A princípio não é proibido criar framework de DI então as pessoas criam mas não acho que seu uso é prevalente fora do mundo Java/.net corporativo. Deve ter alguma coisa nesse tipo de aplicação (java/.net corporativo) que atrai desenvolvedores de frameworks de DI, eu não tenho idéia… rs