The already mentioned "all-or-nothing" approach was the reason I'm usually using Ant instead ... Far more often you get to work on a "legacy" project, that already has a defined structure that you can't change just because Maven wants things otherwise.
Ant on the other hand can be used anytime, no matter the projects disorganization.
Regarding the alternatives, I've read good things about rake.
( Btw, I'm talking about Maven 1, haven't yet looked into Maven 2 )