Roughly speaking, 1-way data binding is simply binding with ng-model
within the page and 2-way when controllers are involved. Can someone explain this concept to me so I really understand how to look at it? Also what is 3-way data binding and is there also 4-way, 5-way?
(from JohnAndrews answer) 1-way data binding = your data model gets inserted into your views / templates usually from a controller and changes to your model in the controller change the data in your views. 2-way data binding = same as above, but you can make changes to your data model in the view as well.
3-way = your data is in sync with a remote storage (loke CouchDB) 4-way = your data is in sync with a local database (like localStorage or similar) and that database is in sync with a remote storage