Magento is S L O W. It has a very specific list of server requirements that have to be met, and even then it may not work 100%.
Also, using Magento on a shared hosting environment can be VERY insecure as Magento likes to have things writable on the file system. If your hosting company does not have iron clad security another user on that system can make changes in those writeable areas.
As far as code quality, I'd say it's pretty good. It's also more complicated than it needs to be. They completely ignored the K.I.S.S. principle (Keep It Simple, Silly).
To sum up, Magento is good if you are interested in an expensive server and complex development. If you want straight forward, it's not for you.