This is particularly relevant for folks who use any MySQL applications on their site.
Firs of all, CPanel does NOT correctly do a "home directory" backup. It lies. It really does a full backup - which will NOT restore correctly onto another account or server. The files in your public_html directory have to be moved via FTP. E-mail accounts, etc. will not move successfully from one account to another.
But here is the process:
1) Using your FTP program, log in to your original account/server & download everything under your public_html directory to your local pc except for: cgi-bin directory.
2) Log in to your new account/server and FTP everything back up under your public_html directory.
3) Log in to CPanel on your original account/server and go to Backups
4) Backup each MySQL database to your local PC
5) Go into the CPanel main page and select the MySQL icon
6) write down the names of each database, forget about anything before the _ as that is account name specific.
7) write down the names of the user assigned to each database, again, ignoring anything before the _

Go to CPanel on your new account/server and restore the databases you backed up.
9) Go into mysql in CPanel and create a new user and assign it to the database.
Unless both the old and new account/server have the SAME user name (the information before the _ in MySQL, you will have to edit your config.php for any application that accesses a MySQL database to account for the new prefix.
After you have done all that, you should be ready to test your programs. If you get any error messages, the most likely problem is that you will need to go in and CHMOD (change permissions) for the directories that are listed in the error messsages. The directory permissions that are important are most likely listed in any read me or install files for the particular program.