Realmente, depende de vários fatores como o pessoal já citou. Mas o PWA tem uma limitação muito irritante no iOS para web apps offline. Desenvolvi um PWA que a ideia original é que ele fosse 100% offline, mas na prática (por uma limitação no iOS com PWA) quando o usuário instala o PWA o iOS ignora completamente que precisa ser offline e limpa o cache.
Outro ponto interessante relativo ao PWA é a facilidade de ter e atualizar um "app", sem precisar de aprovação nas app stores e sem precisar pagar nada, fora a facilidade de atualizar.
Sobre tecnologias, no meu caso eu usei Vite + Workbox, tem alguns plugins pro Vite que se integram bem pra trabalhar com o Workbox. Mas você pode usar NextJS ou qualquer outro framework, até mesmo Vanilla JS.