Migration of data from old site to new
From experience the Migrate module can do all of this for you if you're willing to sit down and write some PHP code to define Mappings and the necessary individual migrations from/to whatever content you need. 

See the project page for alot of introductory information and the /examples directory for sample beer data migrations.

EDIT

the Migrate module is a developer module which you must write PHP classes to define field mappings and source to destination content types. Example migration classes are discussed in the official documentation. There is also a Drupal 2 Drupal migration module that provides some UI to require less custom coding.

At this time I cannot provide additional tutorials/examples -- there are many available on google, eg:

not free:
https://drupalize.me/videos/introduction-migrate-module-series?p=1271

free 45min talk from a DrupalCamp:
http://vimeo.com/54448150