There are thousands, if not hundreds of thousands, of hosting companies trying to get your business. How do you pick one?
Well, for starters, the WordPress.org website has a page dealing with this issue:
My suggestions are that you consider the following:
Make sure that your hosting provider meets the minimum Software Requirements:
“Hosting is more secure when PHP applications, like WordPress, are run using your account’s username instead of the server’s default shared username. The most common way nowadays for hosting companies to do this is using suPHP. Just ask your potential host if they run suPHP or something similar.”
Does the Host have a user interface that makes it easy to administer PHP and MySQL?
I prefer to use a host that has cPanel and stay away from anything that has a custom interface, (although DreamHost may be an exception as they have optimized their interface to work with WordPress and take cPanel into consideration).
What is their reputation for Customer Service?
You might even want to go to their customer support and ask them a question before you sign-up to check this out.
You will also want to consider how much traffic you expect, and if shared hosting is right for you. If you are building a large site, you will want to consider VPS (Virtual Private Server) or Dedicated Hosting for your site.
One last thought on this: be sure to consider your other hosting requirements, like e-mail.