Difference between NavigationController.viewWillEnter & ViewController.willEnter

From reading the documentation it appears to me like these two observables should emit events at the same time however that does not seem to be happening.

NavigationController.viewWillEnter - seems to only fire the first time I enter a page, and not on subsequent reactivations of the page.

ViewController.willEnter - fires every time I enter or reactivate the page.

Is this expected?