Typically I go for the programmatic tools wherever possible and avoid things like Ant, and usually I use whatever is most appropriate for the ecosystem I'm developing in - so for Ruby that's Rake, Python I usually use Fabric, or Make - sometimes just Bash. Not sure why anyone would use anything else, but I've never been that deep in the Java world to appreciate the rationale behind tools like Ant.