The main reasons to use a fancy dependency-injection mechanic:
1) You have not learned how constructors work.
2) You have not learned how to break circular dependencies.
3) You really like global variables.
4) You are using a framework created by someone suffering from 1, 2, or 3 above.