I've ran a few E-Commerce projects in the past. Mostly small business online stores using stacks like Drupal Commerce and other PHP based cart solutions. Things always got a bit tacky when trying to match the UI/UX of the cart solution to existing CMS based websites though. At some point, customisations just got too complicated and intrusive and - which is important in the segment I'm floating in - too costly: spending a lot of money to match two different platforms. While I think that both platforms should ideally match a 100%, it's hard to explain that to cost conscious clients. And I can understand that. On the other hand, I've always wanted to create the best possible experience for a visitor and (potential) cart user.
While I haven't had the chance yet to set a headless E-Commerce platform up that actually went live, I've used Shopify's API to develop a small test store. Having Shopify on the backend is an extremely powerful option and it allows you to build everything, down to PoS integrations. However, that last thing is far from a thing you just take out of a box. Not even technically, but regulatory. Large topic.
But using shopify as an API is far from trivial and while I'd prefer it over a monstrous solution like Magento any day for small to medium sized businesses, the initial complexity is there. The end result, however, is a cart solution that is completely integrated into the existing CMS based solution, which is what I'm looking for in the first place. Add to that the fact, that you can simply rely on a service used by thousands and just ignore all the security patching otherwise required by other self hosted platforms, it makes maintenance easier in the long run. I don't want to spend my time patching running systems and dealing with unforeseen consequences and explaining to clients why that's important. It shouldn't be an issue to start with.
An alternative that looks very simple and integrates nicely and is fast to get to a running state is Snipcart. Snipcart offers less features than Shopify but sometimes, that's actually what you're looking for. I need to invest some time into getting a test cart up using sanity as both the CMS and shop item management system. It looks rather elegant from what I deduced by reading docs and looking at example code and it could actually nicely fit in that gap that would technically be filled with something like CS-Cart or a similar platforms.