Ant is a tool, written in Java, that replicates and extends the functionality provided by the "make" tool on Unix. It is a tool for automating the build process for a Java project. The instructions for how to build a project are entered into an XML document (conventionally called "build.xml"). Ant reads this file and builds the project, checking dates of output files vs. their source files and only executing build steps for source files that have changed since the last build.
For example, say you have a J2EE project that includes several Java class files, dependant JAR files, web.xml, html/jsp files, EJBs and descriptor files. It is possible to build a single Ant build file in XML that tells Ant how to compile the Java, build the EJB Jar files and process them using a server-specific EJB tool to generate home and remote objects, package the html/jsp/image files into a WAR with the web.xml, and package the WAR and EJB jars into a single EAR file that can be deployed on your app server. The chief advantage of this is that you can change several source files and simply type "ant" to rebuild the entire EAR file. This saves a lot of time and mistakes!
There are several good FAQs, articles and examples in the Resources section at the Ant site: http://jakarta.apache.org/ant/resources.html