I'm always somewhat mystified regarding the abject hatred Drupal gets from the HN bunch... I understand a few points:

1. Perceived as overly complex.

2. Reliant on dev paradigms that originate from the PHP4 days, i.e. no OOP.

3. Performance can be a problem.

4. It's PHP, and old-school PHP at that.

5. Everything is done in the UI, and you can't ship DB-based config in code.

6. It's for people who don't know how to code. (I would argue this applies more to WP than Drupal)

I get all of those points, and I agree with most of them. However, my shop uses Drupal for mid-size projects, and a little bit of WP for small ones. Here's how I see Drupal:

1. Integrated, relatively coherent API and model structure that modules can hook into. I.e. two modules don't need to explicitly know about each other for them to be used together. Thus, uncoordinated effort on disparate modules can be used together by site builders to create novel features.

2. Configuration is much less DB oriented than it was, and many things can be committed to git now. This is also continuing to improve over time, and Drupal 8 will be a major change in this regard.

3. Drupal when properly set up actually seems to provide a more consistent admin experience for users than WP does (in my experience, anyway). WP sites that use a lot of modules usually end up with the admin feeling like it was designed by many different people. Drupal used to be that way, but has greatly improved...

4. Performance with proper caching is actually pretty good. As always, you can use any good tool poorly and get poor results.

5. Drupal's codebase is extremely complex, and structured in a way that makes things very hard to debug sometimes (i.e. the hook system). Sometimes I want to do something that I consider very simple, and I can't do it without digging through the API for 4 hours trying to figure out how to do it.

6. And yes, PHP has problems. I don't like its API and that it tends to encourage poor coding practices, but as some recent threads on HN have pointed out, modern frameworks like Symfony are helping to put a cleaner face on PHP. And D8 uses Symfony.

It seems like many of those that hate Drupal stopped using it in version 6, which definitely had many of the problems listed above, many of which have been addressed to some degree. Drupal 8 is based around Symfony components, which should greatly modernize the codebase, though that has been a very controversial move in the community.

All of that said, Drupal still feels like the "least worst thing" for what we use it for, and I'd love to hear what people use instead of it for the types of projects we use Drupal for (custom e-commerce, large content sites with lots of different types of content, complex publishing workflows, etc). We've tried Joomla and WP at various points, and each felt like it had shortcomings for our use cases. And we don't usually get to work with huge budgets, so we have to deliver a lot of complexity for not a lot of $.

Sorry, this got really long, and this thread seems a strange place to go into so much detail :). But I am genuinely interested in alternatives, and in what others are using when they just need to build a (complex) site for a customer who doesn't have the $ to start totally from scratch.