Shopify, if you want to pay someone else, but have a ton pre-setup features. *Biggest problem with them... You can't run separate site folders. ie. site.com/store or site.com/blog... Your site.com is stuck to a store... So you have to do forums.site.com, blog.site.com, etc. I hate that... Other than that, it's really nice and perfect. Trusted by some big names, legit company, etc.
Magento is old school... Too bulky, server intensive, costs a ton of $$$ to modify it, and good luck finding people who know everything about it.. There's a ton of features, but more hassle than it's worth unless you're a big brand with thousands of products and have a team to do all that stuff.
WooCommerce. (I use this myself). Simple, but lots of features. NOT as easy as Shopify in terms of reporting/fancy UI, but it gets the job done. You can customize it however you see fit. Everything can be built/changed. And there are a TON of coders who can work with it... It's Wordpress after all, and finding help is cheap! I love I can still run site.com/forums, site.com/blog, etc, etc or whatever I want. Plus I own everything, no fees, all on my shoulders and in my control. Support isn't really amazing, (it's free), so you'll want to find a coder or hire a company that knows their stuff. Nothing you can't do on your own, aside from major coding for massive changes. TONS of plugins on CodeCayon, etc... WC scales just fine too. 1,000's of products it will handle, a lot of database calls, but no problem. It's best for smaller stores 100-1000 goods. Over 10,000 and you'll have to be on your server optimization shit. But it's possible and can run flawlessly.
.....
I've looked at everything else available, paid, free, etc.. Garbage.
It comes down to Shopify or WooCommerce.
Do you want self-hosted or non self-hosted...
I spent ~4 months researching this all.
Plus... In the past 3 months we have literally spent so much time building out the store on WC, we could have rewritten the entire platform, lol. Even after that, I haven't ran into one thing I hate/can't change. Well... Aside from the hard coded credit card form design, but I just need to hire another person in mind.
That's all...