Web hosting is the means by which a webmaster publishes her information on the internet. Lots of computers called servers are kept in large rooms called data centers, and are all connected to the internet lines, ready to distribute content to the world wide web in the form of your website.
For many people, a simple web hosting account is enough to manage their website. They pay a couple dollars per month per domain name and the hosting company gives them a tiny piece of the server. Their account will have limits in terms of disk space available for storing the files, and bandwidth used (uploading to server and visitor usage of site). The customer will have a password to access the account and be able to see their website stats, current files, and maybe have the capability of editing files right on the server.
The next step for individuals with many domain names is a reseller account. This generally allows you to add as many domains as you own with limited disk space and bandwidth allotments. The beauty of these types of accounts is everything is conveniently in one place, plus they are very inexpensive. It is much cheaper to have a reseller account than pay per domain for hosting. And of course, you can keep the whole account for yourself. Just because it is called reseller does not mean you have to allow others to host on your account.
All of the single hosting accounts and reseller accounts are on the same servers which is called a shared situation. There could literally be hundreds or thousands of domains on one server. The real danger here is your site is affected by all these other domains. If one person decides to install a malicious script, your site is going down with everyone else. If one person decides to use all the resources to spam email addresses, you will suffer. Hosting companies usually terminate their relationships with these people but the damage has already been done.
Once a business becomes too big for the first two types of web hosting accounts, webmasters might move into a semi-dedicated situation. This is where two or four people share the same server. Each is partitioned one-half or one-quarter of the resources. Some hosting companies will manage everything for you including setting up your databases, email addresses, adding domain names, and writing htaccess files. Other companies require you to manage your own section through server management software. The key here is to compare all the services in different packages to determine what you need. Do not make a decision based on price alone, but rather, what services that price includes.
Virtual Private Server (VPS) is a system where one server is partitioned into several virtual servers. It is also known as Virtual Dedicated Server (VDS).
Lastly, having reached a traffic threshold where you require your own server, hosting companies offer dedicated servers. You are the only person using the server and all resources are allocated to your sites. Usually the hosting company owns the server and leases it to you on a monthly, quarterly or yearly basis. Depending on the contract you sign with the host, you might be responsible for your own management or they might offer managed servers. Normally the host is responsible for any hardware problems, but if you manage your server, you are responsible for any software and technical issues, at which point you may be required to hire someone to help you.
One more scenario does exist and this is where you buy your own computer and send it to the host to reside in their datacenter. You might just pay the datacenter for housing the server or you may also make a deal where the hosting company will manage it for you.