For the last two and a half years, I worked as the product manager at an unmanaged VPS hosting company - of all the issues which our support department dealt with, 80-90% of the issues could be chalked up to users' familiarity with the systems.
If you are not already familiar with Linux system administration, you will need to devote a great deal of time to familiarizing yourself with all of the applications you're using and the CentOS operating system - you could pay someone else to set up your VPS for you, but that wouldn't help down the road when you need to update software and resolve administrative issues... (if you're not sure, go with a managed service)
If you do have time to spare for picking up administrative tasks and you're thoroughly comfortable with troubleshooting things yourself (and reading documentation!) I'd recommend an unmanaged VPS to get started - give yourself a couple days to get it set up and to make sure everything is properly configured before you start hosting sites.
cPanel will do almost everything for you (until things go wrong) but you still need to know how to use bash and yum, how to secure your VPS, and how to troubleshoot your own connectivity issues at a minimum if you decide to roll with an unmanaged service... also, whenever WHM/cPanel sends you an e-mail alert you should read it and follow any links to WHM/cPanel documentation - our support team had far too many cPanel tickets in which the subscriber forwarded along the alert after ignoring the link which described how to solve the problem.
Here are a few recommended Google searches to get you started:
centos system administration guide
linux security best practices
... how difficult is it to backup
files and databases? Can it be
automated?
Not difficult and yes, it can be automated (particularly easy if you have a local Linux server but you can also automate WinSCP or rsync tasks - check the documentation for the application you decide to use).