I'm going to take a leaf out of Chris Lema's book right now to answer whether WordPress should be used for eCommerce: It depends.
There are camps of thought that think WordPress isn't right for eCommerce, and there are people that think it's the only way to go. Having worked with and used several different eCommerce platforms (both hosted and self-hosted), I've definitely developed the mindset that there are use cases for each. WordPress can be the right choice in a lot of circumstances, but not all.
Hosted vs. self-hosted
If you're not sure about the major differences between hosted vs self hosted platforms, I recommend reading Patrick Rauland's overview of the major differences. WordPress eCommerce usually falls under self-hosted eCommerce (I don't count WordPress.com since it uses external eCommerce solutions). Forbes also recently wrote about this, though I don't necessarily agree with their conclusions.
The typical viewpoint is that WordPress plugins like WooCommerce or Easy Digital Downloads are great for small stores or people that just want to quickly and easily sell a few items, while hosted platforms like Shopify and Bigcommerce are for “serious” stores.
This viewpoint is actually pretty backwards, not to mention the fact that the number of items is a poor way of determining which platform you should use.
Give each its due
Is WordPress the best platform on which to build apps? I don't always think so, but it could be. Is it always a good choice for eCommerce? Nope. However, it's the right one for lots of stores, and it's the wrong one for lots of stores.
There are a few major strengths and weaknesses of both WordPress and hosted solutions. I've worked most with WooCommerce, Easy Digital Downloads, and Shopify, but have tried lots of other eCommerce solutions for comparison. Some of the knocks against WordPress aren't valid, but we should note that some are.
WordPress eCommerce weaknesses
Everyone loves to talk about how easy certain WordPress plugins are to use. When you compare WordPress plugins to something like Shopify, this just isn't true. They may be easy to use for people that are familiar with WordPress, but not for the average user who wants to start selling online with no experience.
WordPress requires a domain name purchase, hosting setup, installation, plugin installation and setup, theme installation and setup, blah blah blah, you get the drift. With hosted solutions, you don't worry about this (though solutions like Evermore — which was covered by Post Status when it launched — make this interesting). You pay your monthly bill, and you're handed a store website – you just pick the name and get rolling. You can start adding products right away, and then you might get into changing your theme or other setup.
Some of the site tweaks or setup with hosted solutions aren't easy, but the learning curve for a solution like Shopify is far gentler than the learning curve for something like WooCommerce.
There are also WP Cron issues for some sites, as it's not a perfect system for scheduling actions, like recurring payments. It can work pretty well, but other platforms can make this far easier to implement and more reliable than Cron.
WordPress store owners are also responsible for their own hosting, software updates, and security. For many site owners, these are huge responsibilities. Hosted solutions roll all of this into their package so that users don't have to know how their website is powered. They just have to use it.
Both WordPress and hosted solutions will scale, but there are considerations with WordPress that users need to be aware of. Database issues (like backups or memory with massive amounts of customers and orders) should be addressed, hosting has to be optimized, and plugins need to scale with the site. With a hosted solution, none of this is your problem as a user.
WordPress eCommerce strengths
Bearing these weaknesses in mind, it's a bit crazy to me that WordPress is sometimes referred to as the “easy solution” or the right tool for “small stores”. It's not. In many cases, it's like bringing a tank to the eCommerce playground.
So what does WordPress do well?
First, WordPress offers the most all-in-one website solution available. WordPress can offer the eCommerce aspects of the website, in addition to its many other CMS features. The ability to create a single, seamless CMS experience for a multi-purpose website makes it quite compelling and more budget-friendly than more “eCommerce first” platforms.
Second, it's optimized for SEO. Your content is crucial here, and WordPress is built for content. More importantly, if you've tried to blog on another platform, you know how painful it can be (don't start with me Squarespace fans, that thing is difficult to use). WordPress doesn't encourage you to avoid blogging to avoid headache: it's built for complete websites, and is not simply focused on eCommerce.
WordPress also contains functionality that you can't always get with different platforms. There's a massive selection of plugins, themes, and all sorts of solutions for WordPress that are readily available. Since it's open source, it's far easier to find ways to customize it when compared to closed platforms like Bigcommerce.
Speaking of customizations, your ability to customize WordPress or plugins is far easier than with hosted solutions. There's lots of functionality that can be achieved with WordPress that's not even possible in hosted solutions. For example, developers have no control over the Shopify checkout process, but this can be entirely customized with WordPress.
You can also usually find a plugin that will provide a “starting point” for a customization project. Even if you find a Shopify or Bigcommerce app that gets close to what you need, but not quite, you'll need to create a completely custom solution anyway – there's no “extending” there.
Along with customization is the control over your environment. You can spin up your eCommerce site on something like Digital Ocean, and you've got control over the entire site, from server to theme.
The biggest difference for me between hosted solutions and self-hosted actually isn't usability or scalability – it's product type. Can almost every eCommerce platform sell tee shirts? Yes. Even EDD can do that, and it's made for digital products.
However, selling complex products becomes infinitely more difficult on hosted platforms, as you're restricted to what the API offers for product changes, which isn't always a lot. For example, if you've ever tried to add pricing changes for customization options in Shopify, you know that it literally takes some wizardry, black magic, and possibly bubble gum used as tape to do so.
WordPress plugins make this far easier, because the entire platform is open, not just an API. Most eCommerce plugins have more than enough actions or filters to change products, product pages, checkout forms, or any other part of your site.
Hosted eCommerce solutions are typically easy to use, and can provide some customization options via apps or other add-on services. However, it's like renting a house versus owning. With a rented house, you can't go knocking down walls or completely remodeling – you've got to work inside of a framework you're given. This is exactly how a hosted solution works.
The benefit to this is that you absolve yourself of a lot of responsibility and worry. The entire experience is managed and supported, and is typically very easy to work with.
However, WordPress eCommerce is like buying the house. You can do whatever you want – add-on, rebuild sections of the house, change layouts around, add tunnels to other houses, you name it. However, when the water heater blows up, it's your responsibility.
WordPress also affords the opportunity to sell complex products, such as measurement based products like corks by the pound, that simply can't be sold on other platforms. The same ability to customize WordPress so thoroughly lets you customize the eCommerce plugin you're using.
You gain the flexibility that comes with the platform, as well as the benefits like tons of plugins, themes, a great content structure, and a consistently maintained and updated core solution. However, the Frankenstein site that you build is your baby, and yours alone – you need to host it, maintain it, and care for it.
WordPress lets you create advanced functionality via plugins and customizations, but isn't right for users looking for an easy, basic shop setup. If you want a move-in ready house or a beautiful rental, you should look at hosted solutions. If you're willing to make your dream house from great bones and foundation, or you need to sell fairly complex products, then WordPress might be it for you. It's not the “easy” solution, but it can be a great one.