Разница между ObservableCollection и BindingList

Я хочу знать разницу между ObservableCollectionи BindingListпотому что я использовал оба, чтобы уведомлять о любых изменениях добавления / удаления в Source, но на самом деле я не знаю, когда предпочесть одно другому. Почему я бы выбрал одно из следующего над другим?...