First of all, you should only consider this is you're either a developer yourself, or are willing to pay a developer (and have a reasonable sense of the cost).
If you don't, easy choice: go with Shopify.
If you do have coding skills, or have the resources to build your own shop, read on. DIY could be the right choice for you.
There are multiple ways you can do this, but using one of the combinations below would be the fastest.
3. Nuxt.js + Strapi: Nuxt.js is a framework for building server-rendered Vue.js applications. Strapi is a headless CMS (Content Management System) that can be used for managing product data, content, and user accounts. Together, Nuxt.js and Strapi can be used to create a custom e-commerce site with Vue.js on the front end. Strapi even has an article about how to do this on their website.
How To Choose Between Shopify & Your Own Site
First, consider the options above, and see how well they work for you. If you can get a 'test shop' running, that would be ideal.
Second, see if it meets your needs, even in a minimal form. If it does, you can proceed.
If you do it yourself, you'll have more control of the final product, and more ability to effortlessly integrate new components.
For e-commerce, Shopify's fast to set up and gets the job done.
They've clearly thought a lot about how to make it easy for the small business owner. The process is streamlined, fast, and effective.
You choose a theme to customize your shop, and before you know it, your shop is up.
The upside is convenience and trust: you know it's implemented in such a way that your site could get a huge surge, and withstand it.
It may also be what most of the companies in your niche use.
The biggest downside is cost. If you can manage it, for the same functionality, building your own shop will be cheaper over the long term.
Another downside of Shopify shops is they often look alike. You can pay for a custom theme to mitigate this.
There are also limits on customizability that Shopify's format imposes on you.
If you want to do some kind of advanced UI or integration that people can use to interact with your Shop, and it can't be done in a standard way, that could be a problem on Shopify.
You can always do it yourself.
One upside of that is, if you have multiple ideas and you code it yourself, you can copy your template over for each new project and save big bucks, vs. paying for multiple Shopify shops.
This could be a decisive advantage, if you want to experiment with several types of shops.
Another advantage is that, when you control the code, it's much easier to predict the impact your changes will make.
If you can guess that you'll make change after change and many custom components for your site, coding your own could work out better.
You've got to anticipate everything yourself and maintain it. If you're the developer, it's not enough to know plain HTML and CSS.
You've got to set up the domain name, code the pages, set up the routing, possibly an API too.
Want someone to be able to fill out a form and send it to you? That will require some coding too.
There are freelancers who will do it for a competitive rate, but it'll cost you.
The other downside is you may not be able to pay enough to get good results, and good results are important.
You'll be responsible for doing the necesssary software updates. This can become a problem over a timeline of several years.
I've experienced this myself: revisiting a site I haven't touched in a few years and finding out that a package in it needs to be updated, or removed.
It's not a deal breaker in my opinion, but it's a hassle.
Finally, if something breaks, you've got to fix it. I think this risk is often overstated, but it is there.
A Cost Comparison
Shopify costs $39/$105 per month (basic/small business), which is what you'd consider when just starting out. If you pay per month, you can shut it down if your shop doesn't work out.
DIY costs for the front end will run you somewhere from $2/$10 month, probably closer to the low end, for a website with low traffic using AWS.
The credit card charges - about 2.9% per transaction - can be excluded because they are charged the same whether you use Shopify or the DIY solution, like Stripe.
39 dollars a month for the year is about 460 dollars. 105/month is 1250/year. So you could think of that as your yearly cost.
Some very nice React templates can be bought online for a fraction of the cost of a year of Shopify.
So, think hard about your needs, scope out how much it would cost vs. your budget, and make the choice that makes the most sense for you.