If you want to do really complex builds, Ant has the advantage in flexibility. In fact, Maven can invoke Ant.
However, for the most common build processes, such as executable JARs, WARs and EARS, Maven is all that's required in most cases.
Aside from the repository advantages (and I was getting REALLY tired of copying the same old library jars over and over into each new project and filling up my hard drive to boot), the other principal advantage of Maven is that it enforces a standard project layout and build environment.
The major barrier to code reuse in the last big IT shop I worked in was that the other primary
Java developing group had a completely different - and somewhat conflicting - build setup and toolkit. They had a homebrew ORM that came from a third group in an office which had been shut down, all the workers laid off or refused to relocate, leaving only one person to support it. Except that he had new duties and didn't have time to. And, worst of all, the other group's code couldn't actually be built stand-alone. You had to have your desktop,
IDE, and filesystem virtually cloned from them to do builds.
This was back before any of us had learned to appreciate Maven.