Maven is inherently bad too, though
- XML structure is verbose
- Plugin architecture makes standard behaviour opaque
- Default HTTP with no package signatures is recipe for security problems
- "Stages" seem arbitrary and it's not always clear which stages are performed.
- Community seems to move to newer systems such as Gradle (and SBT for Scala).
But, there are also strengths. The configuration format can be extended easily using the plugin architecture. This provides a huge opportunity to extend the functionality.
It is battle hardened over time, which means it is very stable and it has a huge plugin architecture.