Choosing a good host is a rather difficult endeavor since you can get excellent or lousy service for the same price. It's much better to get it right the first time, than to move from one host to another spending time and money.
There are plenty of companies that offer inexpensive Web hosting services. You can even find hosts which offer a long list of features for as low as $1-$2 per month. But be wary - they usually offer not much disk space (20-50 MB), only 1-year contracts, and, since hard disk space is cheap these days, they make money by placing thousands of sites on one physical computer.
I tried such an extremely inexpensive Web hosting provider offering 50MB of disk space, unlimited bandwidth and 99.99%(!) uptime guarantee for $2/month.
It was a real headache. Almost every day, during peak hours, the site was inaccessible or very slow at best. Also, three times the site was down for two or three days and I had to restore it from my copy. These downtimes were long enough for Google to drop almost all pages out of its index.
My personal recommendations how to choose the most reliable service from the bulk of inexpensive web hosting providers...
1) Even if your site needs only 1 MB of disk space and 1 GB of transfer like the vast majority of sites, choose a host that offers much more - several hundred MB of storage space and not less than 5-10 GB of bandwidth. It ensures that they don't host too many sites on one physical server and their network isn't overloaded.
2) Choose a host that offers a money back guarantee. Those that do are more confident about high quality of their hosting. Use a Web service that monitors your site. For example, the free version of Hyperspin checks your server and site every 60 minutes and emails you alerts if something goes wrong.
3) An important feature to look for is whether they do a backup of customer's files every day (the grand majority of inexpensive web hosting providers do not). In case of a hard drive failure (this happens frequently on many hosting services) they can quickly restore your data from the backup copy.
4) Customer support is very important. To test it before opening an account, email them with a few sample questions to check the speed and quality of their responses. Although this doesn't guarantee that they will respond at the same speed if you do become a customer, this approach is rather accurate.
Here are a few inexpensive Web hosting providers (under $10 per month) that have been in business quite a while, are established, reliable and most often mentioned on the Web...