1. Как-то собрать надо, как именно - зависит от того как вы вообще это делаете. если через cra то там уже все готово, yarn build, если самописный вебпак - то самим же добавлять продакшун билд конфиги, если еще что-то взяли за основу, то смотреть есть ли там инструкции/возможность собрать продакшен билд.
после сборки это просто папка с html+css+js, выкладываете куда хотите и оно работает.
2. express отдельно, react отдельно, для express приложение на реакте это те же html+css+js файлы, которые он может отдавать пользователю, но лучше их положить отдельно и настроить nginx на отдачу, или вообще положить в облако и не думать про сервер вообще. Это если вы не хотите SSR
3. Для чего нужен nextjs написано на сайте самого nextjs. Это уже настроенная среда для разработки и запуска, где есть сборка, ssr, сервер, вы его ставите, читаете документацию и используете без необходимости настраивать все самостоятельно.
Я бы на вашем месте ел слона по кусочкам - сначала разберитесь как делать production build и деплоить приложение в интернет, без express, без next, без ssr