What is the $rootScope.$digest method, and when would you manually trigger it?

$rootScope.$digest manually starts a digest cycle, updating all scopes. Triggering it manually can be useful in third-party library events or complex custom directives, but overuse can degrade performance, so $apply is often preferable for scope-limited updates.