Why RxJS Observables? Because Netflix is built on 'em. Because they're like multi-valued, cancelable Promises. Because they're like Meteor Subscriptions but more standards-oriented. Because Angular 2 is built around them. Because they can compress time in their tests to any scale you want so your test code doesn't have to experience delays from setTimeout in your prod code.