Draw it once, place it everywhere
Select the shapes and click "Create Symbol" in the Symbols panel. What you get is a definition plus one instance; every further placement references the same definition, and the panel shows how many instances each one has. Change the definition and every instance changes with it.
The exported file works the same way: one <symbol> in <defs> and a <use> per instance. That is what makes a symbol worth using over a copy - an icon placed forty times is one copy of the geometry in the file, not forty.
Override one instance without forking the symbol
An instance can carry per-shape overrides - a different fill on one inner element, say - while still tracking the definition for everything else. That keeps a nearly-identical placement from becoming a second definition you then have to maintain in parallel.
Variant axes turn one symbol into a component
Open Variants on a symbol and add an axis: a name and a list of values, such as state with default, hover, pressed. Add a second axis - size with sm, md, lg - and the symbol now carries every combination. The Axes view manages the axes; the Matrix view shows the grid, with row and column pickers and a count of how many combinations are visible.
The first value of every axis is the default variant, and that is the base artwork. A combination you have not drawn falls back to it rather than rendering empty, so you can add an axis to an existing symbol without breaking anything already placed. Each instance then picks its combination by key.
Animate a symbol morphing into its variant
Add an instanceVariant track to an instance in the Animation panel and keyframe it from one variant to another. The instance does not cut between them: the export diffs the two variant trees shape by shape and writes concrete animations for what differs - position, size, rotation, fill, stroke and stroke width, path data, even the stops of a gradient the shapes reference.
Some changes cannot be interpolated at all. A polygon that changes its side count has no correspondence between the two outlines, so the export cross-fades a materialized sibling instead of pretending to tween it. A shape present in only one variant fades in or out.
Because variants are an authoring idea rather than an SVG one, the exported file cannot carry the track directly. The SVG export options let you choose how it is encoded: SMIL for the broadest compatibility, CSS animations for embedding in HTML, or the Web Animations API when you want script control. Animated SVG export is a Pro feature; building the animation is not.
Housekeeping that keeps the file small
The Symbols panel marks any definition with no instances as unused and offers "Prune Unused" to delete them in one pass - useful after importing a file whose source tool left definitions behind. Deleting a symbol that is in use detaches its instances rather than silently removing artwork.