Data binding provides a layer of abstraction that can eliminate the need for a lot of additional application wiring, custom event publishing and subscribing, and Model evaluation against the View. These things are usually handled with custom application code that is specific to the application itself, when a framework or some type of data binding is not being used. Without careful planning and the use of defined architectural patterns, this can lead to a lot of adjunct code, and subsequently a code base that is not extensible, does not scale well, and is difficult for new developers to take on and learn.
If you feel that data binding is a component you'd like to include in your application, then consider your options, some of which we have laid out here, and choose accordingly. You may see the need to build your application with a full-fledged JavaScript framework such as AngularJS, or you may only want the added abstraction layer of data binding in combination with...