As of Drush 4.5, migrating a Drupal site between servers became much easier. The new, little-known
drush archive-dump and
drush archive-restore commands make it an essentially three step process.
A basic Drupal site is made of two fundamental elements: the codebase and the database. When you migrate a Drupal site, you need to migrate both of these elements, often with a bit of re-configuration to boot.
The Old Way
Before using Drush to migrate a site, my standard procedure for site migration looked something like this: