I'm 99.9% happy with DreamHost I have perhaps a hundred websites with them (most running WordPress), for a wide assortment of subjects and interests — some are corporate, most are personal, many are for non-profits, and a few are just for very specialised webservices and don't run a "site" per se. DreamHost, because of its unique environment, is very appealing, and you soon get "hooked" in the way DH does things: most hosting providers have a relatively "standard" experience, e.g. the same options, the same control panel, the same boring way of doing the same things with little room for variety.
DreamHost is totally different. I guess the main reason is that they've been around for a long time, and got used to do things in their way. For example, they have given users the possibility to compile their own PHP way before this was possible in any other shared hosting provider. Their automatic application upgrading service was long in place before we saw similar things appearing on competing platforms (like Fantastico or Installatron); I still get confused with the way GoDaddy handles "automatic upgrades", for instance, because they seem to appear weeks after an application has been upgraded... And DH offered their unique type of VPS a year or so in advance before everybody else started offering similar services. While the name (virtual private server) might mean the same thing, DH does everything slightly differently than anyone else. This takes some getting used to, but, once learned, it actually makes more sense, and, as said, becomes rather addictive.
DH also does something unusual. Most hosting providers use a commercial platform for offering shared service, where a MySQL server is included on each physical server — the idea is to keep problems accessing the MySQL server locally to the server you're on. But if you're unlucky in having a "neighbour" that is hitting the MySQL server with gazillions of malformed queries, there goes your website. By contrast, on its shared service, DH offers a central multinode MySQL cluster with full redundancy — to which they can always add more nodes — and manage the overall performance centrally. (I'm not sure if they have a single cluster or several; I suspect the latter is true.) The experience has been so great that I actually use DH's MySQL cluster for a couple of applications as the database engine, but run the application (based on Mono — one of the few options unsupported by DH) on an external server! My theory is that DH's MySQL server is far better implemented, configured, and fine-tuned than anything I might be doing on a dedicated server; and as a bonus I obviously get DH's constant database monitoring, backups, and so forth. It was a bit strange to type anything else but "localhost" on those configuration files, but the result is worth it!
To the best of my knowledge, they were also among the first providers offering multiple logins for the same account. Nowadays everybody does that, to allow one's own customers to be able to access "their" websites on a separate login shell. But it was a novelty when DH launched that possibility.
BTW, I do host on other, competing hosting services. They're always a pain to use if you just wish to slightly tweak your setup. If you're on shared hosting, this usually means few options, and a one-size-fits-all solution, which you either accept and adapt, or move to a VPS/cloud/dedicated server... DH gives additional options that are precious!
Anyway, I can only report on my experience on the shared service, because I haven't tried VPS/dedicated service from DH. Why not? Simply put, it's not worth the cost. DH's strength is really in affordable, feature-rich shared hosting. You can get dedicated servers from Tier 1 co-location providers for the same cost as DreamHost — and you'll get far better bandwidth and a real SLA (DH works on a "best effort" basis) and a wider range of options. It would be unfair for DH to discuss a few suggestions, but if you're in for a dedicated server, I''d recommend you to shop for Tier 1 co-location providers and compare prices: you'll see you can get excellent offers which DH cannot beat in terms of connectivity (and will just make a half-hearted attempt to mimic in terms of customer support).
VPS is a problem. I've tried a few alternatives with some success, but, in general, I wasn't very happy about them. In my mind, people go for a VPS when they cannot afford a dedicated server, but require a root login to install very specialised software which is unavailable on most shared hosting providers. By contrast, DH's shared service gives you a shell account and you can truly add a lot of software that way — even reconfigure your PHP to make it tailored to your wishes, as said. Some things might be hard to implement — say, if you hate Apache and want to go with nginx, you won't be able to do so on a shared account. And, of course, it's not just "LAMP". I tend to use sqlite on low-traffic applications. You can run Ruby on Rails or even Perl or Python. There are tricks to get some "always-on" applications (e.g. daemons) even on a shared server, although you will have to be careful with those. You can get video streaming and your own Subversion server on DH. There is really a LOT that you get with a shared account. Sure, VPS will guarantee you a minimum amount of memory and CPU cycles, but, in my experience, it's not really worth the (huge) price difference: if I really have the need to get my own VPS to install something that DreamHost's shared service doesn't offer (or doesn't allow), I will get some cheap VPS hosting elsewhere — say, in India, where they have very cheap alternatives. The quality and performance will not be better than DH's shared service, but the cost will be very low, while DH's VPS is, IMHO, overpriced for what they're doing.
To conclude: even though there are no "perfect" companies, DH's shared hosting service is next-to-unbeatable, no matter what your criteria are — price, performance, support, uptime, application choice, flexibility, etc. Other providers will beat DH on some of those criteria — say, better performance in exchange for the lack of flexibility, for instance — but not on all criteria. On the other hand, if you truly require a VPS or even a dedicated server, I'd seriously consider alternatives — they will be cheaper and much better than DH's.
Needless to say, I am a DH fangirl, so my opinion is really very, very biased I've been a customer since May 2006, and while obviously I might have my complaints now and then (that's why I said that I'm "only" 99.9% happy with DH!), they were clearly not enough to drive me away from DreamHost...