A domain name registrar is a company who lets you register the domain that you want to use for your website such as yourwebsite.com
Some domain registrars will also do some web hosting for websites as well but some domain registrars only register domains.
A web hosting company is a company that hosts your website for you on a web server so that it becomes publicly accessible to people on the internet and is where you point your domain to so it will load up your website when someone finds the website in a search engine or types it in.
Also some web hosting companies also allow you to register domains with them but I would recommend keeping your domain registered at a different company than your web hosting account because some domain registrars who also host your website could hold your domain name hostage if you try to leave them.