Each definition has a unique name.
Editable in the Component Browser etc...
A definition can have one or more instances placed in the model.
If you use 'make_unique' on one [or more] of several instances, then the instance[s] gets a new definition, duplicated from the original, with its name getting an incrementing suffix auto-appended - e.g. 'widget' becomes 'widget#1'...
Any instance can also have its own individual name [set in Entity Info] - these instance-names are not directly connected to their definition's name.
Unlike definitions instance-names can be repeated and shared by several instances, and even instances of different definitions !