At its most basic definition, you share the server your account is on with other customers. Just like your PC allocates CPU time and RAM to different applications based on immediate demand and usage levels, so too does a shared host. That means that if your “neighbor” is getting an unusual spike of traffic, your site’s performance might drop noticeably as resources are being diverted to the spiking customer. And you should expect to be sharing your server with hundreds, perhaps thousands of other customers. Shared hosting is limited in a lot of other ways as well – technologies like PHP or MySQL are not very configurable, if at all, and some features may simply not be available to you. They also tend to be packed with other “features” that you don’t need or want – this is mostly a marketing scheme to get you to think you’re getting bang for your buck.
In general, shared hosting is the most pedestrian of hosting providers, but often serves the needs of small sites and blogs just fine, at very palatable costs (generally a few dollars a month). If you’re just getting started on the web, get your feet wet with shared hosting.
As you might imagine, a dedicated server guarantees its resources to just your account. Essentially, you are leasing an entire box from the hosting company. That comes with all the responsibilities of patching, software installs and upgrades, security, et cetera, unless you opt for “managed” dedicated hosting, in which case the hosting company will install typical software for you when you sign up and keep your software upgraded and patched.
Dedicated hosting will generally cost you several hundred dollars per month, depending on the capabilities of the box. There’s additional cost if you’d like it “managed” as well.
A virtual-private server (VPS) is the happy medium between shared and dedicated hosting. Technically, you’re still sharing a machine with other neighbors, but you’re each on your own “virtual” partition, which means your share of the resources are actually dedicated to you. So if your neighbor’s traffic spikes, your resources are unaffected. You get as much control over your server as a dedicated machine does too. A great perk to VPS hosting is that if you need more disk space, more RAM, or another CPU, your host may have it set up so that you can initiate a resize of your partition without any need to open a support ticket, and the process is done in less than 10 minutes – not so with a dedicated server.
This level of hosting is typically what you’ll upgrade to once you’ve outgrown shared hosting. It’ll run you somewhere around $40-$100 per month.
Although not technically true, you should think of cloud hosting as beefed up shared hosting. The reason for this is that, conceptually, your site shares space and resources with other customers. However, the space and resources you’re sharing is actually on a cluster (or “cloud”) of servers, not just one. With more servers comes more resources, but they’re managed far more intelligently; the spiking problem that you might have with a shared host is very unlikely to happen on cloud hosting. A cloud hosting account is likely to have better flexibility in features and customization than a shared host, but probably still not as good as a VPS. Cloud hosting is still evolving as a service, but is gaining popularity.
While the cost of cloud hosting is still in flux, you can expect it to land somewhere between shared and VPS hosting, around $10-$30 per month. For example, Media Temple’s Grid-Service starts at $20/month, but there are certainly outliers – Rackspace’s Cloud Sites starts at $150/month.
Never use free hosting. If your website is even remotely professional, you need to pay to play. If your daughter wants to teach herself HTML, then she can use free hosting. You cannot. If you do, your pages will load with advertisements (that you do not reap the benefits from), performance will be poor, uptime will probably not be guaranteed, and the combination of those things makes for a pretty poor user experience. And that’s how “free” hosting doesn’t end up being free.
Please feel free to ask questions and embellish in the comments – there’s a lot more to be said on this subject!