In the brick and mortar world, solid businesses plan for disaster. They know it can come at any time in the form of earthquakes, tornadoes, hurricanes, floods, volcanoes (if they are lucky enough to be in Hawaii ;-) ), fire, robbery, power outages, locusts, etc. There will likely be little or no warning and to survive the downtime caused by these, they plan for it. The online world is no different. Downtime happens. Computers and the Internet are not perfect. They too have their share of natural and unnatural disasters. With the amount of spamming and hacking ever increasing each year as well as the usual hardware failure, network failure, and so on, it is very likely that some part of your site will go down at some time. While 100% uptime would be ideal, the cost to reach very near that ideal would be rather expensive since more equipment, personnel, utilities, server space, etc. would be required and this cost would have to be passed on to hosting customers. But all is not lost. You can recover fairly quickly with a bit of planning.
First, don't expect your webhost to have a backup of your files even though they may. You are responsible for your own files, databases, and email. When you go to make changes on your website, backup first. When you finish making changes, backup again. You can backup easily in Cpanel at any time by clicking on Backups. In there you will find Full Backups which backup all files, databases, and email. Home Backups will save a copy of all files under public_html. Databases can be backed up individually under Backups by clicking on their names. Copies of all email forwarders (aliases) or filters for each of your domains can be saved under Backups. You may also restore your backups under the Backups icon in Cpanel but the Full Backups are best restored by support in most cases. Widgets/contributions can be installed to create backups from within some scripts like Wordpress or Oscommerce. Use a cron job to automate weekly to monthly backups depending on how busy your site is. There is an excellent post on automated backups at http://www.lunarforums.com/lunarpages_how_tos/site_and_mysql_backups_via_cron-t22118.0.html
Again, backup, backup, backup! (Please be sure to delete unneeded/old backups now and then rather than permanently storing them on the account and wasting space.)
Don't expect your webhost to know what scripts are installed on your site. Keep a list of what is installed where, admin logins, and the database connection info. If you have a webmaster managing the site for you, ask them for a list. While we are on the subject of webmasters, if they can do what they need to do without full cpanel access, don't provide it. You can create an FTP account just for them, create an email account for them, provide remote access to databases. You can install Fantastico scripts for them. Be sure your domains and account are registered in your name with your email address and phone number on file. Most hosts can also let you place the webmaster's info on file as a second contact point.
Know what info your webhost will ask for to verify ownership of your account if you need anything changed on your account. Keep it handy. Be sure the email address on file is up to date at all times on both your account and your domain name registrations. For your account, it is better to use an outside email address that is not on your domains hosted here. Keep a valid phone number on file for the account.
For a business, consider using an outside DNS service such as ZoneEdit: http://zonedit.com
if you do not have direct access to your DNS settings. With a service such as ZoneEdit, you can change the A record and MX records of your domains very quickly to point elsewhere (another web account, in-house server, or an outside email service such as Google Gmail App) until an emergency is over. Be sure to copy any file or data changes back over to the original server before changing them back after the emergency. You will also want to have your webhost note on your account that you are using outside nameservers in case of a load balancing move or other IP address change. If you receive a notice of a server move for your account, be sure to reply back and let them know you will need the IP address when they are done. You can also make arrangements to coordinate the move with you.