The aim of this post is not to provide extensive list of 20 or more shopping cart solutions, some of which are very far from open source, self-hosted shopping cart.
I'd like to offer my view and speak from experience as integrator, developer and e-shop owner.
Self-hosted or cloud based (shopping cart as service)?
When choosing shopping cart solution, there is major question you need to answer - do I need self-hosted solution? Or cloud based is OK for me?
Hosted (Cloud based) vs. Self-hosted comparison
|Easy to start selling (set-up cost / time)||You're not in control (though they may claim you are)|
|Ready-made integrations with Shipping and Payment providers||Very limited flexibility|
|Automatically updated (security and features)||Monthly costs|
|Almost limitless flexibility||Set-up cost and time|
|You're in control, your products, your sales||You're responsible for security and updates|
|Small monthly costs (compared to Cloud based)||Sometimes clunky integration with Shipping / Payment providers|
Which solution is more expensive?
This really depends. If you're not too picky and you can go with what's offered, Hosted solution would be better choice and would cost you less.
However, if you demand certain functions, design or certain integrations, that would be either too expensive or not all possible with Cloud based shopping cart.
So if you are picky and have your own layout / design ideas, it would cost you a lot in any case, but self-hosted would be a better choice in a long term.
Popular Cloud based shopping carts
Major players in this field are Shopify and BigCommerce. You can read well made comparison here - Shopify vs. BigCommerce
Truly, this is not really for me so I won't go any further with Cloud based solutions and would focus on Self-hosted e-commerce shopping carts in the rest of article.
Popular Self-hosted open-source shopping carts
The three most popular choices are WooCommerce (plugin for WordPress), Magento and Prestashop. Brief look at Google trends shows that Worldwide, WooCommerce and Magento rules with slight edge over Prestashop (source Google Trends)
However, in Europe, Prestashop position is much stronger and is on-par, or even better than other two, if we look at US trends and the popularity Magento and Woocommerce gained there (Google Trends Magento, WooCommerce, Prestashop - US)
When to choose WooCommerce?
If you already have Wordpress blog with lot of content and shop is something secondary, then it's clear choice, pickup WooCommerce.
For new stores, that aim to be Blogging heavy, it's also very good choice. User base is very big, there's lot of help offered in forums.
When to choose Magento?
Magento is really big software, a beast I'd say, flexible and professional. However, I think it's a bit over-engineered. Too many layers and too much encapsulation makes it difficult to extend it - that can be advantage or disadvantage, depends on case - it won't break that often, but on the other hand, any modification would cost you lot effort, should it fit nicely into concept.
I'd suggest Magento to bigger companies that have a budget for dedicated engineer / or agency, that would take care of set-up and maintenance. In that case, it makes sense; under no circumstances I'd suggest to go for Magento to anyone without deep technical knowledge.
When to choose Prestashop?
Prestashop is Shopping Cart First solution - so blogging and content management here is secondary. Suitable for any small to medium business, that require flexibility and reasonable costs. It's generally easier to make modifications in Prestashop, and generally so-so skilled eshop owner can get well and maintain the solution by himself; though, it's still better to have someone to give a hand when needed.
What about other solutions?
There's plentiful of other solutions out there, whether Cloud based or Self-hosted, here I focused on what I believe is most popular, without cluttering the article with unnecessary details.
Need any details, or elaborate on specific points or other carts? I'd love to extend article, please ask me in comments.