The web's current issue with hosting is that no matter where you go, something is always lacking. For example, some hosts don't have the features needed to run the most recent software out there. People scrutinize a little too much while looking for hosts.
Let's look at DreamHost quickly. They offer amounts of bandwidth, space, and email accounts that could never be overused by any normal website. Now, people quickly point out that they are overselling their resources. Of course they are, but let's think logically. People will buy this hosting because it's cheap, and will probably end up hosting websites that get little to no traffic, and use no server resources. This is why overselling works.
Now, even if DreamHost's clients were to all start using their resources more, they only use 15% of their network at any given time apparently. This means that they have plenty to spare. Their servers might not be quite prepared for the traffic, however, having many clients on single web servers.
Now, back to features. For 98% of webmasters, a simple Apache, PHP, and MySQL setup will get everything that needs to be done, done. This means, unless you are going to use features like Ruby-on-Rails or FastCGI, don't pay extra for it by going to a host that specializes in those sorts of applications.
Another note is that just because a company is small, it doesn't mean that you will get better service. Yes, they have less clients to manage, but they also have less people to manage these said clients. In addition, they have less resources that they can utilize, making for a very hit or miss situation.
Overall, I suggest that you analyze what you actually need and will use, and find a large web hosting company that accommodates these needs at an affordable price. Don't pick what offers the most of everything, because it might not always be your best bet.
