First, think about how much space your site will take up on a server. Unless you are planning on running a software repository or an image gallery, the files that make up your website will probably only use between 1 and 5 megabytes of disk space. Many companies will offer several hundreds of megabytes of web space for a very reasonable price in an attempt to outperform their competitors, but ask yourself “Do I really need that much space?”. Though it's true that you should allow your site “room to grow”, don't opt for what seems like a great deal on a massively sized account if you'll never use all of the space offered. Chances are you'll find an even better deal on an amount of space more suitable for your site size.
This decision should be based on the same principle as above. Though you may be convinced that your site will be the next Amazon or Yahoo and receive a gazillion visitors a day, you really shouldn't need an extremely high data transfer allowance unless, as stated above, you're running a software download site or a large image gallery. Even heavily trafficked normal HTML sites usually only use a few gigabytes per month in bandwidth allowance. Don't go overboard just because it seems like an awesome deal. You may also want to be wary of companies who offer “unlimited” data transfer as there are usually some fine-print stipulations that make this claim not entirely true. Be sure to read their terms and conditions very carefully before opting for this type of account. A five or ten-gigabyte bandwidth allowance is usually plenty enough for a small to medium-sized business or personal site.
A very important point to consider when choosing a web host is the types of technical support offered by the company and how easy they are to contact when you need them. Ideally, a company should offer 24/7 toll-free telephone support and email. I have seen companies that do not even offer a telephone number on their website. You should look for a company that is very easily accessible in your time of need. Nothing is more frustrating than being in the middle of working on your site and needing an important piece of information to finish the job and not being able to contact your hosting company to find it out.
No matter what type of site you are planning on running, chances are you will eventually need to install some type of CGI script. Whether it be a mailing list management script, contact form processor, or maybe even a fancy credit card processing script, your hosting account will need to allow you to install and run them. This requires access to a special folder on your server called “CGI-Bin”. Some hosting accounts will only allow you to use “pre-installed” scripts as a security measure. These are scripts that the owners of the company have installed and configured so that they know that they will work properly and not adversely affect their server's performance. That may be all you need, but if you have the knowledge, it's always nice to have the ability to install your own scripts and configure them to suit your individual needs. You should also be sure that the account you choose supports the language in which your scripts are written, such as PHP, Perl, etc.
Another very important issue in determining the value of a hosting company is how often and for how long their servers “go down”. No matter how good a deal you get on server space or bandwidth allowance, or how wonderfully the company's tech support takes care of you, your site can't receive visitors or produce revenue if the machine on which it is hosted is not up and running. Naturally, you want a company who can guarantee the highest up-time percentage possible. Servers are taken down briefly from time to time for maintenance or upgrading, so no company can ensure 100% uptime, but you want your site to be hosted on dependable, well-managed machines that are not constantly having problems which require them to be down for long periods of time.
Again, like data transfer allowance and server space, some companies will offer you loads more email accounts than you will ever use. Some offer hundreds or even unlimited email accounts as a selling point. This is an important factor if you are Bill Gates and have thousands of employees, each who need their own email box, but not such a big deal if you're just one person or a small company. You should be okay with 10 or 15.
This is probably the most important factor to consider when choosing a web host. Do your homework. Pay attention to any negative feedback you may hear or read about a particular hosting company. There are several sites around the Web that feature discussion forums that allow people to discuss and critique various hosting companies. Ask specific questions about any company you might be interested in using to see if anyone else has had any negative experiences with them. As a beginning webmaster, I had initially contracted the services of a particular web hosting company to host my first site, who promised very good, dependable service for a very cheap price. Then one day, for no apparent reason, decided to delete my entire site without warning or explanation. Only then did I visit some hosting forums and find that many others had similar negative experiences with that company. Don't make the same mistake I did, find out for sure from the start that your hosting company is not going to let you down.