I would like to stress that most Web Hosting providers are honest and supply excellent services but it only takes a few bad apples to sour an industry.
With the below list of gotchas I will explain a few things to watch out for when choosing a web hosting service.
Most hosts have setups fees but a large number are waived to entice would be customers. If the fee is waived, it may only be waived for the longer hosting contracts. The one month contract may still have a setup fee. Also, if no setup fee is mentioned on the hosting site and you decide to sign up with them, double check at the payment page as they may try to slip it in. Setups fees usually are around the $30 mark.
Long Hosting Commitment Required
Some hosts may only offer 1,2 or even 3 year contracts but at a low price. If they don't have a good money back guarantee my instinct would be not to trust them. All hosting providers that I have used have had a 1 month plan. This allowed me to test their hosting for a relatively low price before I decide to go with a longer hosting term or not.
Resources, CPU, Disk Space and Bandwidth
The first thing to remember is that the average web site uses about 50 MB of space and less then 1 GB bandwidth a month. So, most web sites will not use the 3,000 GB of bandwidth and 300 GB of space a lot of the cheap hosting plans offer. These plans just have inflated numbers to make the hosting plan look good and to keep up with the competition. Hosting companies know only a very low percentage of customers may come close to using these numbers, even if they allow unlimited domains on one customers account.
If a web site starts using a larger amount of bandwidth some less honest web hosting providers may notify you regarding excessive use of resources. They probably have a clause in the contract regarding CPU Cycles or Time. Web hosts with hosting plans that offer unlimited or large amount of bandwidth and disk space for a cheap price may get around this unlimited claim by limiting the processing time allowed for the web site on the server.
Daily Transfer Limits
Most web hosts don't have a daily bandwidth limit but it is always a good thing to check for since web site traffic varies from day to day, week to week and season to season.
Hosting providers sometimes offer to register your domain names for free. Just make sure the domain is registered in your own name and not of the hosting company. If it is registered under there name, they have control of it. You may have problems getting the domain back if you ever try to switch web hosts.
Database Size Limit
Some cheap web hosts offer unlimited MySQL or MSSQL databases but then put a limit on either each individual database size or the size of all your databases.
Extra Disk Space and Transfer Fees
Maybe your web site got mentioned in the news or on an important web site and you get a huge traffic spike. Make sure that the web hosts fees regarding additional bandwidth are not exurbanite or you don't get bumped to a hosting plan you don't want.
Always ensure that the web hosting company you pick has 24/7 customer support. With Murphy's Law in play, most problems always seem to happen at the worst time, which would be at night or on the weekend. If customer support is not around and your business depends on its web site, you will loose money. You need to make sure toll free phone support is also available. If the company can't afford phone support I would also wonder what else they can't afford. I usually only use email and the web hosts forums when I need information or have a question regarding hosting but ever now and then I need to talk to a live person, one on one.
Money Back Guarantees
Most web hosts offer at least a 30 day money back guarantee. This allows you to try the service with some way of backing out if the host doesn't live up to expectations. There can be some differences in these guarantees from host to host. Most are 100% money back guarantees. Some hosts though, may keep the setup fee or another type of small charge. Read the guarantee carefully to make sure you know what type you have.
If you see a web host provider claim 100% uptime, RUN! All servers need to be rebooted every now and then for security and software updates.
A large number of web hosts have an uptime guarantee and almost all of these are 99.9%. Some of web hosts can have multiple qualifications on these guarantees that you need to be aware of. One I have run across include, only unannounced uptime can count towards the guarantee. Another potential qualification some of the less honest web hosts have is the customer must also report the down time in order to qualify for the guarantee. These type of qualifications usually make an uptime guarantee useless to the customer and is just a marketing gimmick for the web host.