To have a Web site on the Internet you first need to have a Web server. Unfortunately, owning a Web server can be very expensive and requires technical expertise to set up which most businesses don't have. This is where Web Hosting come in. Web hosting companies provide the equipment and other technical resources that you need without the headaches that come when you have to do it yourself.
A web host is a service provider that places your website on a computer which is connected to the internet. This then gives people who surf the internet a way to access your website. The computer that the web hosting company uses is typically like the computer you have at home, the only difference being that it is set up to serve up web sites and is therefore called a "server".
Think of a Web Hosting as the landlord of building. A landlord rents out storefronts to various businesses. Each business decorates and runs their store differently, and doesn't worry about the maintenence of the building. In a similar way a Web Hosting rents out space on a Web server, (or entire Web servers), to various businesses. Each business builds their own Web site and never has to worry about the maintenence of their Web server.