I was going to pick godaddy for domain name, and another hosting company for a hosting plan, but it seemed like a hassle.. so I picked the best hosting company I found after a lot of research and reading reviews.. I went for arvixe.com, they will give you a free domain name with your hosting plan..
please stay away from bluehost, I haven't found a single good thing about them..
P.S when you read companies' reviews, I assure you - you'll find many bad reviews for each one of them, and that will drive you even more crazy; because you won't know which to choose.. my advise is, go with the one you see with equal good and bad reviews..
I've looked all over the internet - hopeful to find a company with no bad reviews or at least not many, but that was just mission impossible!
I was also comparing arvixe.com with another hosting company, as they were the best I found with equal reviews.. hosting24.com.. just to give you more options..
To answer your question: if you are buying a domain name and a hosting plan separately, I would suggest to go with the cheaper one for domain name, but if you are looking with a plan as well, then I suggest to look at the two above..
what makes a company better than the other? for the hosting plan, I would say, how fast they solve your problems or your down times..
for the domain name, I honestly see no difference other than the price.
hope that helped