Domain names allow people to remember, your product and brands. It is like a phone number that is required to identify how to open up your website. Compare to getting people to remember the numerical IP address, you can add your brand name or your product detail in the domain name so people can access your website easier.  Hosting is a service that stores your website and email files, without a domain name, your customer would not be able to access your website.