The two main models in this class of server are VPS and cloud hosting. They technically aren't completely distinct - many VPSes employ a cloud-like CPU sharing system for instance, but for the most part, here's the main idea of each.
VPS = Virtual Private Server. You essentially buy a piece of a dedicated server - hence the name Slicehost for our current service - they "slice" a large server into chunks. They use software that makes each piece operate completely independently, so it's impossible for others on the same machine to crash you, and you're guaranteed to get what you paid for. The better ones also have a CPU balancer that will allow you to use others' CPU time, but only while they're not using it, allowing you spike over max temporarily (ours does do this, and allows things like software installs to run much faster than they otherwise would).
Cloud = A cloud is basically a giant server cluster, with far, far, more space and power than any normal server could ever have. Usually, the plans are also a lot looser - you buy a low base cost of access, then simply pay for usage, never getting billed for what you don't use... and we currently use a tiny fraction of our server resources. Since you're linked into a giant cluster, you also don't have to worry about going way, way, over the limits on a particular month, it'll just grab what you need and send you the bill. It sounds awesome, but of course, there's a catch. Whereas a VPS can absolutely guarentee that the resources you paid for are always available short of you screwing up your server or a catastrophic hardware failure, a cloud very much cannot. If the collective attempted usage of a cloud exceeds the total resources it has, the entire thing can come screeching to a halt, taking every site on it down. Amazon actually recently had major issues when the huge-ass cloud they run on overloaded.
The result is that while VPS hosting tends to be more expensive than cloud hosting, it also tends to be far more reliable - unless you have extremely unpredictable usage (in which case that scalability becomes critical). Our usage is rather predictable, however, and if we do later grow, it's not going to be at a rate where can't simply buy an upgrade when we need one.
As for Rackspace vs Slicehost, besides the VPS vs cloud thing, they're targeted at pretty much opposite kinds of customer. Rackspace favors corporate customers lured by buzzwords, and is mainly targeted at people who don't know what they're doing, and are looking at cost above all else - support and service appropriately suffer. Slicehost is aimed at the DIY crowd - here's your server, here's how to reset it if you royally fark up, here's a pile of tutorials on common tasks, have fun. Because Slicehost attracts such a different kind of user, their support queue isn't bogged down with newbie questions, and the community of users is generally a group of sysadmins and programmers helping each other.
The good news is that I found a very similar company to Slicehost (Linode), that actually has better prices, and from what people fleeing Slicehost are saying on the forums, just as good service and community, with a better control panel. We'll get 30 days notice when we have to move to Rackspace, and when this happens, I'm just going to sidestep the mess and move us to Linode. There will still be downtime, but it will be almost entirely due to the domain record updating.