Web hosting types are numerous. Likes cars, some types have heaps of features and attract the ladies (the DeLorean), while other types are cost-efficient and just get the job done (the AMC Eagle). The three most popular types of web hosting are Shared, Virtual Private Server (VPS), and Dedicated.
A Shared server is the cheapest and most widespread type. With shared hosting, your web sites will be on the same server as many other peoples’ sites and share web server resources like CPU, RAM, and bandwidth. Read more about Shared web hosting.
A Virtual Private Server (VPS) is like your own virtual server running inside another server. You will share the hardware but not the software. You will usually be given root access to the server but you won’t be able to see the other sites that are sharing the hardware. Read more about Virtual Private Server hosting.
A Dedicated hosting package will give you your own server so you don’t share software or hardware resources. A dedicated server is the most expensive type of hosting but provides the most reliability and control. Read more about Dedicated hosting.
Other less popular types of web hosting include free, reseller, managed, colocation, clustered, and home server.
Free web hosting is often ad-support and has very limited features compared to all the other web hosting types.
Reseller hosting lets normal people become their own web host and sell web hosting to others. Reseller hosting could use a shared server type or even a dedicated web server type.
Managed hosting gives you your own server like dedicated but the hosting company takes care of configuring it so you aren’t given root access. That way you can’t mess it up. As much.
Colocation hosting is like the dedicated web hosting but you actually own the server. You simply "Colocate" (i.e. rent server rack space) your server in a shared facility. The facility provides security, bandwith, electricity, and storage resources. You have to take care of everything else.
Clustered hosting gives you multiple web servers that run the same website(s). If one of them happens to go down or needs updates, the web traffic can go to the other server without taking the web site down. It can also spread the traffic across all the servers so that one particular server doesn’t get bogged down.
A Home server is a web server on a computer at your home (your home computer can easily be a web server, you know). This gives you a lot of freedom in managing the server but it is often slow and the Internet connection available is not suitable to running professional web sites.
You can read more about other web hosting types that aren’t described here on Wikipedia.