В чём разница между режимами привязки WPF?

Узнал, что в WPF есть такая штука как binding и этот binding капец как важен. После небольшого изучения вопроса столкнулся с разными модами привязки. В чём их разница и когда стоит использовать каждый из них?

OneWay: свойство изменяется после модификации свойства источника

OneTime: свойство устанавливается по свойству источника (при чём только 1 раз)

TwoWay: оба объекта могут изменять привязанные свойства друг друга.

OneWayToSource: приёмник меняет источник Default: по-умолчанию (если меняется свойство TextBox.Text - значение TwoWay, в остальных случаях - OneWay).