I personally feel it saves a lot of boilerplate code which is needed to render data to view layer (HTML) . PS : It will only save your code and time when you are writing HTML and JavaScript separately in different files. (Angular 1, JQuery based applications).
but. if you are using front-end frameworks/ libraries likes React, Angular 2/4, there is no need of two way binding as you are writing html and js at the same place (Components) and that boilerplate code is automatically eliminated/reduced.
So, if you are using framework/ library where HTML and Js are separate two-way binding saves a lot of boilerplate code and work.. and if you code is way too much modular, componentized their is no need of two way binding.
It all depends on the requirement.
From performance perceptive in two-way binding , you need to setup un-necessary watchers / observables for every variable with consumes some sort of memory and running digest cycles (to check if variable is changed) in short spans definitely takes some toll on application's performance.