Most people already know the answer to this question, however, if you are really new to the Internet or to websites in general you might not even know what a hosting company is, how they work or why you would need one! First and foremost you don't necessarily NEED a web hosting company but they are nice to have if you want to have a personalized domain name and you want to have full control over it.
Websites like Freewebs will allow you to use your own domain names and they will host them for you but the domain names become sub-domain names, not really professional. So you website might be something like TomsBlogginWebsite, but when you go with a site like Freewebs that only allows you to use sub-domains it might look something like Freewebs.TomsBlogginWebsite.(extension).
Sure that's fine for a personal website but when it comes to a more professional approach, you want to be able to have a domain, not a sub! When you start getting into professionalism, you start learning about these web hosting sites which will allow you to have a main domain name TomsBlogginWebsite, sub-domains and add on domains.
An add on domain means it is completely detached from your original domain name. SO you might have TomsBlogginWebsite, VacationExploration, MoneyMaker, etc. I love the hosting options because of that reason alone. So what is web hosting? By layman's terms, it is a website that has a server that is shared by other people where you can host your website.
By shared I don't mean these other people can see your private info! If you don't have a host, then you cannot let people see your website. Because unfortunately a website cannot "live" without a source which in this case would be the web hosting company. Its all very simple once you start understanding everything. Find a web hosting service you would like to use, buy the package you want (there will be variations), set up your main domain name.
Once you set this up you will change the DNS (Domain Name Server) settings to that of the web hosting website you go with. DNS servers are a whole 'nother article so its a good idea to just ask your web host or registrar how to go about something like this. They should be able to give you a step by step guide. Once your account and domain is set up (with a few tweaks) you will be able to actually view your website online when you type it into your address bar!
You can then utilize html code, java or flash to build your website or you can even hire on a web designer! It really depends on how much of an expert you are. Personally, I am not competent with coding so I hired a web designer!
The point of a web hosting company is for you to be able to use their service to get your website/domain "online" and you would obviously need this if you ever expect for people to visit your website so this is a necessity; either for a site like Freewebs sub-domain service or a professional web hosting company!
Author Resource:-
This Author is a huge fan of UK Web Hosting