There are good reasons as to why you should keep your domain and hosting with separate companies and this is something that does often surprise people because it initially makes sense to have everything together to allow you to keep track of it all. This, however, is wrong and it will now be explained to you as to why this is the case. First, it does mean that you need to go against those fantastic deals where you might get a free domain name with a hosting package or reduced hosting when you buy a domain name as they are just sweeteners in order to get you to sign up to the one company to allow them to make more money. Instead, look for a good deal for each individual thing as you will see why this is so important.
Perhaps the main reason is that there is a very good chance that you will change your hosting company at least once during the life of your website due to getting a better deal or not being happy with something connected to your old company. The reason why it can be problematic if you buy the domain name through the same company is that they may refuse to transfer your domain name over or allow you to point it to elsewhere and, therefore, hold your website to ransom and render your website useless. Another reason is that you may find that when you sign up for both the domain name and the hosting package they will register the name themselves and, in theory, they will then be the owners rather than you.
This does then take us back to the point that was just made about refusing to let you make changes to have the domain pointing elsewhere as they can claim ownership and you are left with having to register a new domain name and change all of your marketing material to reflect this. Finally, there is also the fact that even if they are willing to transfer your domain over you will tend to find that they are very slow in dealing with your request as they will try to draw out the process in the hope you will stay with them. It is quite common for something that should take minutes to actually take days, but if you have never had your domain name hosted with them, then they are not losing out on money and are willing to change things almost immediately with this meaning your website can be back up and running rather than your visitors encountering a sign saying that you do not exist.
So those are reasons as to why you need to have your domain name and hosting account with different companies because it just makes life so much easier if you end up having to use a different hosting company somewhere down the line. By doing this, you will have complete control over every aspect of your website and name and considering how easy it is to set up two accounts there really is no reason why you should continue to use the same company for both options.