Property Binding consists of specifying a Property Variable that is bound to a Widget's property. When the Property Variable is updated, the setting that is bound to it is automatically updated and reflected in the Widget.
An example of binding a Property Variable for a Button is illustrated below.
In the image above, we have three Buttons for a Main Menu: Continue, Start, and Quit and we want Continue to only be enabled if the player has a Save Game. Under the Behavior section for the Continue Button, you can un-check IsEnabled (so the Button is not enabled by default) and then click the Bind Button.
On the Graph tab for this Widget Blueprint, you could then create a Boolean variable and once it has been created, can assign it via the Bind Button (below we have created a Boolean called DoesSaveExist?).
With this variable bound to the IsEnabled Behavior, you could then set this whenever your game is started by checking if a save file is present and if so, Casting to this Widget Blueprint to access and set the DoesSaveExist variable to True which would then enable the Button.
If you bind a property of a Widget and then directly call the Set function on that Widget, it will break the binding.