I am wondering if there are any use cases for using Ant specifically over all other deployment methods and tools?
It seems Eclipse, changesets and packages have all the functionality you need.
We use ANT in our automated build process because we can invoke it programmatically (with SH/Jenkins, etc.) to move code between orgs and run tests without having to open an IDE, create a change-set etc.
This helps our development process because we need to move code between non-namespaced and namespaced orgs and do some tweaking to it before we can successfully deploy from development/test to packaging.
Maybe checkout this github repo, it's a lot more specific and has an App built into it and I'll be adding the preconfigured AMI in a few days prior to presenting it at DF:
I agree with Jordan - Ant allows you to publish a completed build
Changesets and Eclipse will always publish the latest version of the code. A complex project usually requires the ability to use a code configuration tool (such as Git) that allows managing code versions, which can then be deployed using Ant
in Other words, you can take a snapshot of your development org when it is stable, then continue experimenting, and when deployment time comes you can deploy the stable snapshot.
Ant also gives you an automated method of deploying the same code version to multiple environments
Ant allows running validation only deployments to target environments on a regular basis (for example to test code coverage)
AutoRABIT has the best matured deployment solution for Salesforce , where you can deploy automatedly from your Jira or any ALM User Story status , directly from a Sandbox or from your version control system like SVN , TFS , GIT or Perforce.
You can check it here for more details.