I haven't used Joomla but have worked on Drupal sites. It is possible to build a reasonable and scalable sites in Drupal, but often times you'll find instead is novice web devs have chosen Drupal because they know very little about relational databases and don't want to know anything about database design. Drupal gives you custom object storage and custom object views without having to write any code, so you can imagine the skill set of the people this appeals to and the kinds of architecture their sites have.
On the flip side, just because you know how to write code doesn't mean your designs are going to be good.
The "everything is a node with attributes" concept that Drupal requires makes you think first about data, then about presentation. For example, if you want an organized list of data, you make custom nodes (the model), then a view, which is a decent design pattern for most sites. Views are incredibly powerful and can do nearly everything most sites would want.
Compare this to other CMS's that make it difficult or impossible to tack on functionality without writing a lot of raw database code (not to pick on them, but Wordpress developers seem to have this problem in spades).
Also, Drupal treats caching as a first class integrated system, which makes performance much better than other options.
yep,
everything-is-a-node-with-attributes
makes me think about my data;
realise it doesn't fit drupal's rigid content heirarchy;
remember that, no, views are not nearly powerful enough;
and go back to django.