Injeção de dependencia X 'Facilidade'

Tenho lido a respeito da injeção de dependencia, da facilidade que ela tras e do desacoplamento que ela provém. Ótimo, mas até onde ela é vantajosa?
Digo isso pelos seguintes motivos:

  1. Eu elimino o acoplamento de uma classe a outra e coloco em um framework (Spring, Nano).
  2. Eu simplifico o desenvolvimento das classes mas crio complexidade através de inúmeros arquivos XML.

Eu não uso nada disso, mas estou estudando a possibilidade de usar, porém analisando (ou tentando) os fatos não vi tantos beneficios assim.
Gostaria de saber as opiniões a esse respeito, realmente é melhor?

Geralmente vc vai fazer a injeção com classes/objetos que possuem valores estáticos, como por exemplo, uma classe DAO que possui um objeto do tipo Connection e você vai “injetar” essa classe ou esse objeto em outras classes.

Através do XML, vc pode configurar todo o JDBC,Datasource, injetar ele dentro de uma classe DAO, sem digitar nenhuma linha de código.

Outro lugar que é muito usado, são nas frameworks MVC que usam IoC, por exemplo, o SpringMVC vc não precisa criar uma classe que extende ActionForm para pegar os dados do JSP, os valores são “injetados” dentro da sua Action automaticamente.

Espero ter ajudado