Un Observable (de la librería RxJS) representa un flujo de valores en el tiempo al que puedes suscribirte. Angular utiliza RxJS ampliamente — las peticiones HTTP, los eventos del router, los formularios y EventEmitter están todos basados en Observable — por lo que comprenderlos es esencial.
Observable vs Promise
Promise: a SINGLE future value, eager, can't cancel
Observable: ZERO-to-MANY values over time, lazy (runs on subscribe), CANCELLABLE
