São duas ferramentas diferentes que resolvem problemas diferentes, como explicado no comentário do vagnerlandio.

ReactJS é para criar aplicações front-end principalmente SPAs, onde front-end fica separado do back-end.

  • Bom para páginas dinâmicas (não confundir com conteúdo dinâmico) e interatividade minizando chamadas e processamento no backend.
  • Bom para rodar o front-end offline (PWAs).
  • Bom para projetos enormes onde é interessante separar as coisas.

NextJS é para criar aplicações fullstack onde tudo fica junto em um só lugar. Traz a posibilidade do SSR onde a renderização acontece no lado do servidor.

  • Bom para clientes com pouco processamento ou front-ends que seríam pesados para os clientes.
  • Bom para indexação pois as páginas já vem prontas do servidor (melhorando pesquisas do seu site no Google, por exemplo).
  • Bom para projetos pequenos onde não precisa separar as coisas.

Tenho uma dúvida sobre isso, se alguem puder esclarecer.

A publicação do app então é diferente, certo? React eu posso publicar em qualquer site que hospeda páginas estáticas, mas Next eu precisaria de um serviço mais completo que suporte Node?

E se usar SSG, isso muda alguma coisa?

Obrigado.

na verdade em determinados tipos de publicaçao de react vc precisa do node rodando. depende muito da forma com que você esta fazer o build da sua aplicação na verdade. O next.js é uma forma simples de trazer uma arquitetura e um ambiente mais facil de atualizar e gerenciar funcionalidades, ele prove SSR (server side rendering) e o SSG (static site generation) e uma serie de ferramentas que acompanham essas funcionalidades. Mas na maioria dos casos, com apps complexos tanto utilizando react e outra ferramenta de build, quando usando o react + next.js vc precisa sim ter um ambiente adequado para rodar a aplicação PS: se tiver duvidas eu to a disposição pra ajudar. ja trabalho a um tempo como desenvolvedor front :]

A partir daqui, o que diferencia tanto o Vite.Js para o Next agora ? Vejo questão de eficiência e tal, mas não sei exatamente os diferencia. Você consegue me dizer João ?

ambos suprem a mesma necessidade olhando a primeira vista. mas a premissa do vite é ser uma ferramanta que facilita o desenvolvimento de aplicaçoes front-end. o vite vem mais para substituir o uso de ferramentas como webpack , Rollup e Parcel. que em certos niveis de apps eles começavam a gerar gargalo para o desenvolvimento e o build a aplicação. já o next é uma experiência de desenvolvimento com todos os recursos de que você precisa, renderização híbrida estática e de servidor, suporte a TypeScript, empacotamento inteligente, pré-busca de rota e tem mais algumas funcionalidades. Nenhuma configuração necessária.
Ahh consegui compreender, agradeço muito, estava sempre em dúvida em qual utilizar mais. Agora vendo os comentários que fizeram, tenho uma visão melhor de quando usar um ou outro. Muito obrigado!