Web hosting provides a place for your website so it can be accessed by other users on the Internet.
A website consists of several files which are placed on a specially configured computer known as a "server". Web hosting can also allow you the ability for email accounts @ yourdomain.com, file storage, setting e-commerce stores and a range of other functions.
When someone accesses a URL (e.g. www.webporter.com), a series of requests get sent to the server such a website is hosted on. Website files are then "served", traveling at light speed to your computer where your browser interprets these files and displays a web page. These files may consist of many different types, and a few common ones include .html, .shtml, .php, .gif and .jpg. Special files, such as ones that make use of PHP, need to be placed on a special server which can interpret the code before serving them out.
To summarise, "web hosting" essentially means some space on a server has been provided to place website files. Web hosting is just one step towards having an online website, and a second important is obtaining your domain name through which your website can be reached.