I currently use DreamHost for all my domains. I’ve found DreamHost to be excellent as far as technical features and service. They have just about everything you’d ever want, and more. They have an extensive knowledge base that answers most of your questions, and if not, they will get around to answering you … I say “get around” as I’ve rarely found it necessary to contact them because their PHP-driven control panel is SO AWESOME. It lets you do everything you want without their assistance. I’ve never seen a competitor with such a robust interface for self-service down to the nitty-gritty details.
One word of caution: Where their packages are competitively priced for the tons of features they offer, the Web space, and MySQL usage, they do have server problems for time to time. Not a lot, mind you. But it is wierd when they announced that they FORGOT to renew their own domain and that would affect services for seveal days here and there.
So, they might go down from time to time, although not enough for me to go elsewhere, even if I were hosting a Web store. They are up and running with cool integrated features enough for my needs. They are great for just about anything you can think of, personal or corporate. This would be the kind of host provider you’d stick with until your business actually needed dedciated hosting with an engineer sitting at the console 24 hours.