It is a good idea to keep your web hosting account separate from your domain registration. If your web host is providing a free domain than you can get one for free. Otherwise, it is a better idea to keep your domain registration at a separate company and your web hosting at a separate company.
Why keep them separate? If you get into a billing dispute or any dispute with your web host. Your web host may suspend your account and suspend all your domains. If your domains were registered with a different company than your web host would only be able to suspend your web hosting account and not your domains also.
Easier to manage! When you keep your domain registrations at a different company that does domain registration and your web hosting account at a separate company. It is easier to manage your domains in one account at one company and your web hosting needs at another. It would be easier to renew, register, or transfer with less complications.