In order to have a website live on the internet, you will need both web hosting and a domain name. Both of these things can (and do) exist independent of each other, though it is generally considered universal to employ both in order to have an actual website. Metaphorically, let's say you want to invite people to a party (your website). Your party is at a location, such as your house or apartment (web hosting). In order for people to know how to get to the specific location, you must provide them with an address (domain name). So, web hosting is the actual server space where your website files live, and a domain name is the address visitors need in order to view these files as your website. You can have a domain without a website, and you can have a website without a domain name, but to truly benefit from having either in the traditional sense, you actually need both working together.