A really effective way of dealing with repeating elements in projects—especially in UX/UI work—is to use symbols; they are to graphic elements what paragraph styles are to text and changes to the “master” are reflected in all instances immediately.
However, there have been limitations that have required making hierarchical symbols structures or groups of symbols to work around—at least until Dynamic Symbols surfaced in CC2015. Dynamic symbol instances retain their link to the master symbol even when their shape and visual attributes are altered—and this gives you a lot of flexibility. If symbols are like the graphic equivalent to paragraph styles, dynamic symbols give you the character equivalent (and then some) in that you can override certain local attributes as well, as well as effect transformations over the whole object (sticking with the type analogy, this would be like a “based-on” style).
Any fundamental changes to the master symbol are automatically applied without undoing any previous change or overrides to the individual instances of the symbol, and in the video below you’ll see some of what can be achieved with them and discover many new possibilities.