Then the category tree is not too well organised.
Having only categories
on the first levels and then articles in then would be much more logical.
The issue with child categories is that the category organization is up
to the wiki community. There may be loops. The articles may be both in
the parent and child categories, it may have hundreds of descendants...
...and the operation would need to be efficient.
Platonides, as you said, the categories are a mess in the Wikipedia. The
"Categorization" proyect just try to put, at least, one category holding
each article, but the category tree is hand work of the wikipedians.
There's no tree, there's a lot of orphans categories, duplicated ones,
and a lot of loops and crosses.
That's because I assume a simple recursive depth search is the only
solution for getting a random article in a category (or their childs)