Let's Get Virtual
Shared hosting (sometimes called virtual hosting) is where a third-party service provider hosts your Web servers for a monthly fee on their equipment, with multiple Web servers running off the same box. Your company is responsible just for the content: the service provider handles all the other details, including server setup, bandwidth management, backups, security and more.
The first advantage to shared hosting is price. You're using just a part of a single server, so the costs are spread among multiple companies. You're not directly managing the servers, so you don't need to divert any IT resources to a Web project. Security while always a concern with anything associated with the Web is managed and guaranteed by the service provider. In addition, you're not making the investment in hardware normally needed for a full-blown Web-server installation (servers, routers, firewalls, backups, etc.). Most server plans include the most popular services required by a business, including e-commerce, programming (usually in the form of PHP or Perl) and database support. And because most larger service providers enjoy a direct backbone connection, shared sites usually boast pretty decent performance.
In these situations, you're looking at some serious hardware: most reputable service providers feature RAID disk arrays for hot swapping and redundancy, and they also feature detection systems to make sure a server isn't taken down by a Distributed Denial of Service (DdoS) attack. You're also looking at multiple backbone connections to the Internet as well as a backup generators and a secure facility to prevent a physical attack or failure.
But there are some definite minuses. The details differ from provider to provider, but most plans will have some limitations, whether it be bandwidth throttling or disk-space restrictions. If your server is located on the same server as a popular Web site, your server's performance can suffer as the Web servers fight it out for RAM and CPU resources. You will also face limitations on the sorts of applications available: you can't just throw a service on your shared server, like user authentication or advanced database application, without the cooperation of your service provider. And you are dependent on another company to provide a key service for your corporation.
Because of these limitations, a shared-server approach is recommended most often for small- and medium-sized businesses that may not have the expertise or resources to tackle a full-blown Web project. They're also more appropriate in situations where light to moderate Web traffic is expected.
Dedicated to Those Who Like Control
Dedicated hosting means your Web server is sitting on its own box owned and managed (to an extent) by the service provider. The management depends on what's offered by the service provider; most have special managed dedicated server programs that will ensure continuous monitoring of server performance as well as routine tasks like data backups.
With a dedicated-service plan, you control the machine and determine what Web applications are running. Generally speaking, we're not talking about a single Web server running on its own box: you're talking about a more challenging environment running complex applications like e-commerce, ASP or Cold Fusion.
This approach gives you the maximum in freedom. Want to make some changes? You can make them quickly on your terms. Need to expand? you're in charge of the timing and the budget: Scalability is a key reason to adopt a dedicated-hosting plan.
Because of these factors, a dedicated-server approach is usually recommended for high-traffic and mission-critical situations where investments in hardware, staff and bandwidth are budgeted and expected.
But Wait ... There's Another Option
A third option that's become more popular recently is co-location, where you're buying all your server equipment, with the service provider merely providing bandwidth at their facility. You're basically buying a space at a service provider with a pipeline, which means you'll need to totally plan out your server setup on your own.
Sounds like a cool project, right? It can be, but setting up a totally secure server that manages high-level functions like database management and e-commerce is not something that can be whipped out in a weekend. There's hardware to spec and buy, security plans to be implemented, software to be developed (or purchased off the shelf), and bandwidth to be acquired.
Back to Our Original Question
In the end, it depends on which sets of details you want to manage. Many businesses begin with a shared-server agreement and then ramp up to a dedicated-server agreement as their needs expand. A dedicated-server approach will cost you more up front in terms of development time, but ultimately you will have more control over your offerings. But if you're willing to cede some control in favor of lower costs, then a shared-server approach is for you.