A lot of web hosting companies are offering unlimited storage space, databases, email addresses, domains, and bandwidth for <= $10 per month.WebHostingGeeks has comparisons and awards for many hosting companies.
Choosing a host is a difficult and confusing process. This article outlines some key questions and concepts involved in choosing the right host.
Do they offset 100% of their carbon footprint? 150% of their carbon footprint? 300%?
Do they have 24/7/365 support? Do they have phone support? Can you, as a non-customer, call their support and get a person on the phone within 5 minutes? Do they have a comprehensive online documentation system (wiki is usually effective here)?
Do they offer a free domain registration (this is usually ~ $10/year added to the cost of hosting)? Can you have multiple domains registered simultaneously? How many sub-domains can you create?
How much is the hosting per month when paying monthly, yearly, etc? Does the price change after an introductory period?
If you need a public encryption key (e.g. for an online store), how much is an annual SSL certificate?
Do they offer SecureShell access (SSH)? What about Secure File Transfer Protocol (SFTP)? Both of these tools make site administration efficient and secure. I use SSH on a daily basis and find it indispensible.
Can you configure Cronjobs? This is usually possible using SSH or from your hosting configuration page.
Do they offer free backup services for your files and/or databases?
Server Side Software
Do they offer easy installation/upgrade tools for common website software such as WordPress, Drupal, Joomla, ZenPhoto, MediaWiki, etc?
What version of PHP do they currently maintain? What version of MySQL do they currently maintain? Do they support Python, Perl, Ruby on Rails, etc (depending on your interests)?
Do they support alternative databases such as PostgreSQL, PostGIS, etc?
Can you have long-running processes (this is important for software such as Django, Rails, etc)?
Basically, make sure that the hosting company supports up-to-date versions of common server-side technologies. Check the respective websites for each server-side technology for up-to-date version numbers. If this is confusing, ask the sales or support representative how up-to-date the servers are.
My Personal Recommendations
I am currently hosted with a company called WebFaction. They have great documentation and technical support. WebFaction also supports Django, Plone, and Ruby on Rails, as well as offering the choice to use PostgreSQL for your database.
On the unlimited end, GreenGeeks invests in renewable energy sources for 300% of their energy consumption. GreenGeeks also provides solid features outlined above and a great price.