웹페이지를 만들기 위해서 굳이 프론트엔드 라이브러리를 사용해야 할 필요는 없습니다.
HTML과 CSS, 그리고 순수 자바스크립트(VanillaJS)만으로도 웹페이지를 얼마든지 제작할 수 있습니다..
특히 단순한 정적 페이지를 만드는 것이 목적이라면 React와 같은 프론트엔드 라이브러리는 큰 이득이 되지 못합니다.
하지만 요즘의 웹은 정적이고 단순한 페이지가 아닙니다.
어플리케이션에서 UI를 동적으로 나타내기 위해서는 복잡하고 많은 상태를 관리해야 하는 부담이 생깁니다.
만약, 규모가 크고 다양한 UI와 상호작용이 필요하다면 DOM 요소 하나하나를 직접 관리하는 것은 힘든 일입니다.
또한 복잡하게 늘어진 코드를 리팩토링(유지보수)하는 것도 비용이 많이 들게 됩니다.
그에 반해 React를 사용하면 사용자와 상호작용할 수 있는 interactive한 UI를 쉽게 만들 수 있으며, 기능과 UI 구현에 집중하고 불필요한 주의력 분산을 줄일 수 있게 됩니다.
또, React를 사용하면 브라우저 전체를 새로고침 하지 않고도 컨텐츠를 빠르게 변경할 수 있다는 장점(필자가 가장 체감한 것)이 있습니다.