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 the short version. Here's a bit longer description of web hosting.
When you want to construct a store, building or house, you need a physical location and the same holds true for your website. All of the files (text, images, databases, videos etc.) that your website is made up of takes up space (hard drive storage space). While a domain name is essentially the human readable address of your website, all of your website's files need to be stored somewhere. Web Hosting gives you that physical storage place.
All your website 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. Your domain name is linked to the IP address which looks something like 168.1.0.101 (4 sets of 1-3 digits separated by a period/dot). This IP address allows your visitors' computers to find your website to view it.