title: angular trigger changes with $watch vs ng-change, ng-checked, etc
body: <p>Currently we could monitor data changes with several ways. We could trigger model changes with <code>$watch</code> and we could add directives to elements and bind some actions to it. </p>
  
  <p>It's a little bit confusing in many cases, so I'm curious, which is pro and cons of each variant and when should we use <code>$watch</code> binding, and when directives like <code>ng-change</code>? </p>