It depends on the needs of the business of course, but for small companies Shopify is pretty good considering how much value you get for a couple of dollars per month.
WooCommerce exists for businesses with complex needs or when a business needs to be in control of their store and data. It's a complex software on top of another complex software but for what it enables businesses to do, I understand why even mid and large size businesses pick WooCommerce for their e-commerce stores. Some of the complexity can be countered by using a managed WordPress hosting like Kinsta or WP Engine, which are surprisingly affordable these days.