View libraries render your app in the browser. You provide some code or data in a format that is specific to the library, and the library handles rendering your DOM elements.
The more traditional alternative to a view library is server templates. Templates work well when the DOM doesn't change much in the browser.
View libraries become essential when your frontend has a high degree of interactivity. Using a view library creates an abstraction layer between your code and the DOM. This can often lead to simpler, more maintainable code.