It is never a good idea to have all your eggs placed in the one basket. The same goes for setting up domain registrations and webhosting accounts. I prefer to keep them separate at all times instead of packing them together with one company. In most cases this means not taking advantage of good webhosting deals that offer a free domain name registration for new users.
People usually take advantage of webhosting and domain registration deals as it enables them to save some money while keeping both the domain name and the hosting plan with the same company, often this makes setting up your first website quicker and hassle free.
Having your domain name registered with your hosting company can be problematic and might be a really bad idea if you choose the wrong company. Over the years it is very likely that you will need or want to change your web host because your current host could either be running unstable or just not be upto the task of running your growing website.
So when it comes time to change your hosting, it will be a lot easier to redirect your domain name to a new hosting account. You will just have to log into your separate domain register account, change the DNS (Domain Name System) and within 24 to 48 hours your new website will be accessible. It will save you time and possibly money because usually when you transfer your domain name to another company they will charge you transfer fees and often take up to 5 days to transfer over to a new domain register.
Below are a couple domain registers that I highly recommend: