I'm not at all surprised Magento is number 3. I've never seen anything so simultaneously overly- and poorly-engineered.
It's like someone combined the worst parts of 10-year-old Java (XML configurations over conventions, AbstractEntityBeanFactory-style classes) and PHP (no namespace, autoloading override plugins) into one awful mess. Throw in the use of EAV everywhere, and the "schema" is a nightmare to decipher.
Maybe version 2 fixes some of these issues, but Magento 1.x is awful.