I found that the content of ESTNotificationDemoVC.m is different from that on the page of http://estimote.com/api/tutorials/notification.html.
In ESTNotificationDemoVC.m, the APIs "requestStateForRegion" and "didDetermineState" are not used. Besides, the "switchValueChanged" method is not invoked by any other method.
I don't know why?
Yes, the notification demo on the estimote.com/api page and in the Examples project are two different demos, although functionally quite equivalent—you can learn beacon region monitoring off either of them just fine.
requestStateForRegion and didDetermineState are useful when you want to determine the initial state (inside region / outside region), so for a simple notification popup are not necessarily needed. Feel free to use them or not as you see fit.
switchValueChanged is set up in the Interface Builder to get invoked when the appropriate UI control changes its state.