If you take a look at the Facebook docs, you will see that React is built to solve only one problem : Building large scale apps with data that changes over time.
If you are building a web app where the data changes frequently, you will ideally want your view to be a function of the data. When the data changes, the view should be able to update itself and reflect the changes. For example, when you are on Hashnode, you may see a lot of changes triggered by various parts of the app. Some of these changes are :
These are a few instances where the data changes quickly and we need to reflect that in the view. Unless your UI is a function of the data, it'll be difficult for you to manage the application. This is where React helps. You will build your app in terms of small reusable components and React will make sure that your view reflects the latest data. It's like hitting a refresh button automatically whenever the underlying data changes. Furthermore, by building well encapsulated components you are essentially making a testable app with good separation of concerns and maximum code reuse. It is also worth mentioning that React maintains a virtual DOM and only updates those parts of the view where underlying data has been changed (which results in improved performance).
On the other hand, if you are building something like a static site or a blog where the data change is minimal React may not be the right choice. As @somu said it'll probably be an overkill.
I strongly recommend going through the Docs to understand React.