Ответ 1
Функциональной разницы нет. Свойством по умолчанию объекта Binding является Path, это означает, что если вы не укажете, какое свойство вы устанавливаете, вы установите Path.
Это связано с тем, что объект Binding имеет два конструктора, по умолчанию и один, который принимает один строковый параметр. Когда вы передаете значение без маркировки, это свойство будет перенаправлено на соответствующий конструктор, в случае Binding это устанавливает путь. Это очень похоже на концепцию того, как работают атрибуты, вызов конструктора, за которым следуют необязательные параметры, например:
[AttributeUsage(AttributeTargets.Class), AllowMultiple = false, Inherited = false ]
Вероятно, путь, на который вы действительно задаете вопрос, но я заметил, что между ними есть небольшая (и, вероятно, несущественная) разница. Поскольку я не могу объяснить это сам, я начал новый вопрос об этом здесь.