What is $timeout and how does it differ from JavaScript’s setTimeout?

$timeout is Angular’s version of setTimeout and is integrated into the digest cycle, ensuring AngularJS data binding is updated after timeout.