Firstly, I would say that currently most users expect dynamic experiences, as well as flexible interfaces (responsive in terms of speed, not a responsive buzzword). To achieve this, using JavaScript is usually the way to go. Usually you save yourself traveling to the server, which takes time and bandwidth.
As for using the JavaScript framework and choosing which one to use, it really will depend on the type of application you plan to build. For example, Backbone is great for structuring your application, while Knockout is great for interacting with the user. There are many more variables that go into it, although there are many blog posts that compare and contrast different structures.
It will be difficult for you to get a truly interactive and dynamic web application without using JavaScript these days. The various frameworks, we hope, will help you achieve your desired functions.
source share