Web Hosting is a service that allocates space and resources on a server specifically for the files that make up your website. It allows you to publish your website on the internet so your audience can access it and view it.
That's a loaded description of Web Hosting. Let's look at a wider view of it.
Just as you need a physical location if you want to construct a store, building or house, you need a physical location for your website. All of the files (text, images, databases, videos etc.) that your website is made up of takes up space. While a domain name is essentially the address of your website, all of your website's files need to be stored somewhere. Web Hosting gives you that storage place.
Your files are stored on a server. A server is basically a very powerful computer that stores those files, but also is designed to deliver them to your visitor's web browser. The server where your website's files are stored is given an IP address. This IP address allows your visitors' computers to find your website to view it.