I'm not saying it never happens, I just really need to think hard on when it last happened. You're talking about a method that requires a certain param but doesn't raise an exception if you leave it out and then behaves in a buggy way. Again, not something happening a lot.
You’re referring to a variadic function, which can be written in most modern languages.
The commenter you are replying to is talking about a function of fixed-arity, with a config object with required props. Which props are required? A Typed language will tell you immediately “for free”.
Most of the time, data binding IS one-way when using Knockout.
Input field? That's one-way from display => a variable in your viewmodel.
P tag? That's one-way from variable in viewmodel => display.
But when do you really need two-way data binding? Form validation and formatting. Man, this stuff is hard even with two-way data binding. You have to be able to accept, parse, format, and validate all in the same element. It's very helpful to be able to use knockout for a task like this.