A domain name refers to the named address or identification label for your location on the internet. The domain name allows others to access your website directly with an easy to remember address instead of using a numeric IP address.
Registering a domain name secures that specific internet address. No one else can use that particular domain name on the internet.
Several companies offer stand-alone domain name registration. This allows you to secure a domain name without purchasing hosting services. While this will protect your domain name from being taken by someone else, it will not allow you to host a website or utilize email services with your domain.
Website hosting provides a powerful server, constantly connected to the internet with several high-speed connections. The server is managed by the hosting company so the hosting customers do not have to worry about server maintenance, upgrades and configuration. They can instead focus on setting up and managing their own website.