My colleague and buddy Eric Burley @eburley took the time to write down some excellent points around $watch vs PubSub that we have learned over the last year working with AngularJS on a large, non-trivial application. These golden nuggets were on an internal wiki that after a bit of prodding and pleading he was kind enough to post to a public place for everyone to see.
These are conclusions that we have arrived at over the course of a year after writing a LOT of AngularJS code. I highly respect Eric as an engineer and appreciate him taking the time to to articulate these thoughts in such a digestible manner.
So! Without further ado, check out the link below.