Basically Web hosting is a service that allows the customers to put their WebPages online, ie create a place for themselves online. There are web hosting companies that give out servers to the customers who put up their pages on these servers. These pages can then be viewed by anyone who visit's the customer's website. The customer can be anyone, a company, an institute, business house or a single person.
These services can be offered for free as in case of free web hosting. Here the revenue comes in through advertisements and the customers don't have to pay anything. This service would be more suited for individuals rather than big business houses or companies, that too the ones who are just beginning to launch a new website. The reason being that since this service is free; there will be limited space and sub domains.
The paid Web hosting offers more features and thus charges their customers. Business houses and large companies are best suited for this type of hosting. In paid hosting, customers either choose from a shared server where they have to share the server with other clients or a dedicated server where each customer will be assigned one server.
That particular server only hosts that customers' pages. It is best for a beginner to start with a shared server, test the company's efficiency and later on move on to a dedicated server. The customer can store his files and data onto their own web space to be published online. Customers can also avail of the free email service from web hosting which is exclusive to the individual's website and not like the public email addresses.