When you buy a domain name you may think that you have everything you need to start to build your website. You may not have purchased any hosting with your name and until you do this you will not have anyway of adding a website to it.
Think of hosting as the space needed to store all the files (or pages) that will contained in your website. You need to be able to rent space off a server in order to host your files. There are a number of ways in which to obtain hosting; you can buy hosting when you buy your domain name, you can also chose to buy hosting through a third party or you can chose to have your website hosted with your website developer who may have their own dedicated server.
You can chose to either have shared space on a server or a dedicated server just for your website / websites. The dedicated server will cost a lot more to rent, often around £300 per month as opposed to approx. £20 a month for a shared server.
If you are expecting high traffic, do not want to run the risk of your server being affected by other companies sharing your hosting and want to be able to improve your SEO then you may opt for a dedicated server.