I couldn’t give a run-down of all the differences. Some of the reasons we chose Magento over zen-cart, or some of other OSCommerce derivatives are:
*stock levels for attributes (the confgurable product/simple product). In zen-cart we had to make separate products visible in the catalog for each color since they all had different stock levels.
*search engine friendly url’s - the zc urls are those very unfriendly php things
*modern day look to start with - it takes a ton of work to make zen-cart not look like something from 2001. And even if you make it look modern, the way it acts is still very old school (full page refreshes and the like).
*bad shipping modules - could never get zen-cart to accurately get the shipping cost from any carrier
*better credit card processing - magento can batch right from inside
*very active development - magento’s growing like crazy
* *somewhat* easier upgrading - though I would say magento is still a bit of a pain to upgrade versions. At least if there’s no template changes I can just push the upgrade button.
* i can’t really compare the template systems very well since I only made the one for zen-cart, and hired someone for magento. I think they both have pains and plusses in that department. I did achieve 90% of my zen-cart look through just one css file and photoshop.
* zen-cart has just a plain old code base it’s working off of in oscommerce. It’s somewhat akin to Windows Mobile vs the iPhone - no amount of massaging will make Windows Mobile look or feel as good.
Some things I would give zen-cart over magento:
* magento requires a lot more server horsepower, and a very particular configuration with the whole Zend thing
* magento is a bit more delicate - you put one bad character in a CMS file and whole site stops working
* as bad as zen-carts menu’s are, magento’s aren’t great either. there’s a lot of things in the wrong places, or just plain confusing, and the search button doesn’t do anything as far as I can tell.
I still don’t comprehend how either one requires the staggering number of files they use. I think zen-cart had like 14,000. Truly insane! I don’t know how many magento has, but it’s a whole lot, and the directory structure is confusing. I think having app/design/default/templatename and a skin/template name is wrong - ideally one directory should be able to contain all your customizations.
Magento has a lot more SEO options. I haven’t gotten around to filling all of them in, and I wish there some more help with them. Zen-cart did add more in the last few versions, but the search engine friendly URL’s is supposedly a big advantage of Magento.
So, that’s more than I expected to type, but hopefully useful.