Every Widget Blueprint that you create with UMG is considered a User Widget that can be reused and placed within other Widget Blueprints.
This allows you to essentially create templates for pieces of your UI that can be used within other Widget Blueprints.
Not only will the visual aspects of the widget be carried over to the Widget Blueprint you place it in, but scripted functionality will also be carried over.
With some Blueprint Scripting, you could create variables for how your UI widget functions or looks that can be overwritten on a per instance basis.
For example, in this How-to we will create a Button Widget Blueprint that we can use within other Widget Blueprints.
We will create and stylize the Button but set it up in such a way that we can override the style when we place it in other Widget Blueprints.
Lastly, we will customize what happens when the Button is clicked on a per instance basis (this is useful if you have a series of Buttons in a menu that you want to look and act the same but produce different results when pressed).