Sometimes I get a little carried away with my metaphors...
"Other dependency injection tools give you the flexibility of a Swiss Army knife and the cutting power of a chainsaw. But if one tool does manicures and also cuts down forests, it brings with it complexity. The tool is more difficult to learn. Your code is more abstract. And you risk accidentally cutting your arm off.
Dagger gives you the flexibility of a dagger and the cutting power of a dagger. It's easier to understand, and your code should be too. Its weakness is that it can be verbose: everything is explicit and uniform! This can be annoying when writing code but it can make navigating the code easier."