Diferencia entre ObservableCollection y BindingList

Quiero saber la diferencia entre ObservableCollectiony BindingListporque he usado ambos para notificar cualquier cambio de agregar / eliminar en Fuente, pero en realidad no sé cuándo preferir uno sobre el otro. ¿Por qué elegiría uno de los siguientes sobre el