Diferença entre ObservableCollection e BindingList

Quero saber a diferença entre ObservableCollectione BindingListporque usei ambos para notificar sobre qualquer alteração de adição / exclusão na Origem, mas na verdade não sei quando preferir uma sobre a outra. Por que eu escolheria um dos seguintes sobre o