<p>I just realized from an article in CACM that Doxygen works with Java (and several other languages) too. But Java has already the Javadoc tool. Can someone explain what are the pros and cons of either approach? Are they mutually exclusive? Is there a Maven plugin for Doxygen?</p>

I'd only use Doxygen with Java if you're new to Java and you've used Doxygen before, reducing the learning curve you'd experience with javadoc.  If you haven't used Doxygen before, I'd stick with javadoc, since it was specifically designed with Java in mind.  If you don't know either one, and you work in C++ (or other supported languages) as much as you do Java, Doxygen is a good choice, as you'll be able to use it for both languages.
Both tools are easy to use, with a similar feature set.  Both have plugins (or are pre-built in) for NetBeans and Eclipse making it even faster to generate doc.  There is a lot of overlap in the comment style used by each, but they're not
exactly
the same, so it would be difficult to mix them together (you'd have to know the details of
both
, leaving out any features that are specific to one or the other).  I've never used it, but there does seem to be a
Maven plugin for Doxygen
.