even the later systems are frequently criticized as suffering from poorly-written code and inadequate documentation
Magento does do a better job in these areas than say, osCommerce, but there are still massively underdocumented portions of the code base. The code is clean and extensible, but horribly inefficient, to the point where a lot of people speculate that the Magento team wants it to be like that, so when your store takes off you are more likely to hire them to speed things up.
Why won't sharks eat lawyers? Professional courtesy.