Explain Angular Change Detection. How does Angular know when to update the view?

What is Angular Change Detection?