Потому что React отображает только те данные которые ты введешь заранее.
Статический сайт (скачал апликуху которая дальше не имеет контакта с сервером) вполне частая практика.
Но если надо сохранять данные в базе, удобно ими управлять из админ части. реализовать авторизацию то тогда нужен бэкенд. (Ruby/Rails, Python/Django, C#/ASP, Java/Scpring или PHP....)
Не поверишь - для централизованного хранения всех данных сайта/приложения/сервиса/чего-угодно )))00
А реакт удобно и шустро нарисует посетителю то, что пришлёт бэкенд