How does $broadcast differ from $emit in AngularJS?

$broadcast sends an event down the scope hierarchy, reaching all child scopes. $emit sends an event up, notifying only ancestor scopes. Both are used for inter-component communication.