Force.com maintains the various components that form an application as metadata. It is often necessary to move metadata from one system to another, such as when you are:
copying components from one Force.com organization to another
transferring metadata from a local development system to your Force.com organization
pushing changes from sandbox to production Force.com orgs
The Force.com Migration Tool is a Java/Ant-based command-line utility, based on the Force.com Metadata API, for moving metadata between a local system directory and a Force.com organization. The Force.com Migration Tool is especially useful in the following scenarios:
Development projects—Populate a test environment with large amounts of setup changes, quickly.
Multistage release processes—A typical development process requires iterative building, testing, and staging before releasing to a production environment. Scripted retrieval and deployment of components can make this process much more efficient.
Repetitive deployment using the same parameters—You can retrieve all the metadata in your organization, make changes, and deploy a subset of components. If you need to repeat this process, it's as simple as calling the same deployment target again.
When migrating from stage to production is done by IT—If you prefer deployment via a scripting environment.