A domain name is your piece of internet real estate. There are different types of domain extensions that you can register eg:.com, .net, .org , .biz, .info, .name, .eu, .org.uk or .co.uk.
A domain name provides an easy way of remembering a unique set of numbers.
Instead of using eg 123.588.992.888 as your website address you use a domain name which would be something like yourbusinessname.co.uk (which is much easier to remember)
A web hosting service give you the web space that you need in order to publish a website so that it is visible 24×7 through the internet. It also provides you other features such as personalised email accounts, databases and much more.
Some hosting plans will come with one click install applications such as blog, shopping cart, forum, photo galleries, website builder etc.
A website consists of files eg: html, php, css, images, databases etc.
If a web designer is creating your website they will probably want you to purchase a hosting service so that your website can be published there.