Recently I switched one of my websites to a VPS server. It's so much better than shared hosting. Even if I do still share a physical machine with N other people, as a VPS I have full root access which makes things much better. I made the mistake of trying "managed" hosting first, which means the tech people at the hosting company help you set things up.
Bad idea. That plan was on CentOS 4.2 and used CPanel. CPanel doesn't even support Apache 2 yet. Let alone Ruby on Rails. They've apparently been promising Apache 2 support for months and have yet to deliver except in their experimental branches. The CPanel forums are littered with people complaining about it. Running a Rails app with any kind of acceptable speed demands some features of Apache that Apache 1.x does not have. Apache 1.x has fastcgi, but it sucks and judging by mailing lists and my own experiences, getting it to actually work is a miracle. The people at my hosting company surely did not succeed in doing it.
So I "downgraded" my hosting to one where I run everything myself (it's $15/month cheaper) with no CPanel, and got Debian 4, and now everything works fine. Took me one evening to get it all going. And now I don't have the useless overhead of CPanel to deal with. I run Apache 2.2 and a cluster of Mongrel servers for my Rails app and the speed is much better.
In addition to that, I had to set up EVERYTHING on my server. So I got my first taste of setting up a DNS server (bind) , which was a really good learning experience. I never knew how DNS worked at that level of detail until I set it all up myself. So I set it all up, then ran some tests, and found out I did it entirely wrong, so I redid it chrooted and disabled DNS recursion and all those bad things and now hopefully I won't be cracked within a week.
Then I had to set up sendmail. I accomplished this by glancing at the horrific configuration file and then immediately uninstalling it from the server. I don't need another mail server that badly. In the end, my opinion of CentOS + Cpanel is pretty low. The CentOS repository was severely lacking in a great many packages that I needed. I had to resort to compiling crap on my own, and it didn't work. Debian at least has mostly everything I want via apt-get. And CPanel is severely limiting if you want to do anything outside of the narrow bits of software it officially supports. It sucks hard for running Rails.