You might try the Site Backup Pro of Bluehost but it is very inconvenient, sometimes it does not work, it says “It appears that your firewall or browser may be blocking the necessary login ports”. I use other way (manual way).
Two things you want to backup are the website files and databases.
To backup website files, create a zip file of all the website files located in /var/www or public_html folder through the File Manager of Bluehost. Then, use Filezilla to login to the server. Then, proceed to download the zipped website files.
There are many types of databases, but the most common is the MySQL. Login to your phpMyAdmin, export, and you will get the sql file containing all the databases.
How to restore?
Just copy and paste the website files into your new web server via Filezilla. For databases, just import it via phpMyAdmin or whatever database software you are using.
For WordPress admins
This is for WordPress people, using the most common type of blog on the internet. You may need to edit the wp-config to your new database setting. If not, you will get the “Error Establishing A Database Connection” error.
The above is a very easy, manual method, just copy everything over. This will work for all the website files, not just WordPress. However, if you want to just backup WordPress, you may try plugins, or the above will work just fine.