One benefit of using a SPA type framework, such as NuxtJS, is the fact you don't refresh the entire page.
For example, you might have a big mega menu on your site with potentially 100's of categories being loaded and presented. Then you also have to load the cart, and no doubt other things, on top of the actual page content.
Traditional Laravel apps with Blade templates connecting to the API would create a much higher load, as they would be reloading the entire DOM each time, therefore running the category and basket API queries for each page. And of course you have extra network requests going from server to server first, before the client request comes back. All adds up I guess and means more server maintenance.
With a SPA type approach, the menu only needs to be loaded once, as does the basket etc. So it makes a much more responsive UX and also keeps the load down on the server and avoids the need for nasty caching in templates.
This performance consideration is why we're looking to start creating a GraphQL module, which will allow you to read data in a much faster way.
I don't know too much about Alpine etc, but those are the reasons we're looking to use NuxtJS (or similar) for storefronts. If your Alpine approach does a similar thing, then that's great!