Using CPanel Backup / Restore
CPanel Full Backups
You can download a full backup by going to your CPanel Control Panel, select the Backup option, then either generate a backup or download one of the existing backups on your server.
Note you can not restore a full backup yourself unless you have root/reseller WHM access
One of the advantages of a full backup is that you can have CPanel ftp the backup directly to another web server, rather than downloading, this is a simple way of creating a disaster recovery backup of your web site or to allow you to move to another providor
CPanel Home Backup
In your CPanel control panel select the backup option and then in the 'Download a Home Directory Backup' click the 'Home Directory' button this will send you all of the files on your server (not databases) which can then be restored using the 'Upload' option to the right of your download option.
CPanel Database Backup
To backup all of your databases you need to download a backup of each under the 'Download a MySQL Database Backup' click each database and download, you can restore using the upload option you see to the right.
Shared Hosting & Provider Backups
A number of vendors backup your site for you, generally you would need to ask them to do a restore which could take longer than you would like to wait in the case of a problem. Also, if you create a backup before any major changes you have a check that you can quickly restore your provider will probably only do a backup daily on their own schedule.