Hosting and domain may seem to be the same, but there are some key differences. In most cases, a domain is what identifies your website. Hosting is the location where your website is stored on a computer. Some hosting providers have their own domains, so if you use them they offer everything in one package and can help with any technical problems that may arise with your site.
Think about it this way. You just bought a big sign for your new fantastic business (that's your domain!) and now you need someplace to hang it (that's your hosting)! Your hosting holds all of the files, databases, and general tech infrastructure and all of those files can exist all by themselves and never be tied to a domain, kind of like a drive on your computer, it's just storage. AND your web address/domain mycoolwebsite.com can exist without any files tied to it. So you have to pay for these two things as separate services to get an entire website.
You can bundle them all in one place or keep your domain in one place and your hosting in another. I actually always recommend keeping them separate just in case anything were to ever happen, it's safer. AND YOU SHOULD ALWAYS HAVE FULL CONTROL OVER YOUR DOMAIN! People buy and sell domains for a living so if you ever didn't renew your domain and it was lost, you may find yourself having to pay thousands of dollars to get it back. 🙂