GoDaddy is a domain Registrar who does hosting on the side.
Hostgator is a hosting company that does domains on the side.
If you were to deal just with those companies then your best alternative would be to get the domains from GoDaddy and the hosting from Hostgator - that way you are dealing with each company's primary business that they dedicate 95% of their time to and are not using their side business that gets the other 5% of their attention.
If you want everything with one company then go with a hosting company as having domains with a company where it is just a side business is not going to cause anywhere near as many issues as having hosting with a company where it is just a side business.
The same argument applies to other domain registrars and hosting providers that offer the other as their side business.