Make sure it's reputable and usually larger hosts can be more beneficial since they have generally been in the business longer and you won't run into many issues.
User reviews are definitely the best thing to look out for. With any host your going to find some bad reviews, but when choosing a host just make sure the good reviews outweigh the bad ones. Also make sure the host is suitable for your needs. This includes reading the ToS/AUP for the types of sites allowed.
Simply find in google and compare services, coast, traffic, and then decide which one is god for you.
My first rule is: Don't go for unlimited traffic hosting, they are crappy when you have high traffic.
It depends on your budget. The best company is Media Temple, but they cost a lot. If you're looking for a good company under a budget then give Host Gator or Blue Host a try..
Read reviews from social media ( like facebook,facebook) most of time it comes as genuine. (Not like hosting affiliate reviews) hope its helps