Imagine we build a website for you. That website is a collection of files that all link to each other. To become a functioning internet website, though, these files have to be placed on a server somewhere. A server is a computer that runs specialised software that listens out on the interet 24/7 for requests for the sites it hosts.
A concrete example. You type a website into a browser window - for example www.boduweb.com. The website is registered, and has an address that points to a server. When you type in and send the address, our server machine perks up and sends you back the home page file of our site.
When most people talk of web hosting, what they're actually talking about is the service offered by hosting companies, where they lease out space on their servers (usually on an annual basis).
Most people don't have the experience or equipment required to set up their own web hosting, so they choose a web hosting company to take care of it all for them.
There are various different alternatives offered by most web hosting companies - each of which are explained in more detail in our web hosting faqs