What is the intuition behind pushouts and pullbacks in category theory? What is the intuition behind pullbacks and pushouts? For example I know that for terminal objects kind of end a category, they are kind of last is some sense, and that a product is a kind of pair, but what about pullbacks and pushouts what are the reasoning behind this names?

Pullbacks generalise many common situations; they can be thought of as equationally defined sub-objects or as the subobjects of products that satisfy certain equations.
Here are a few examples of pullbacks off the top of my head:

*

*inverse images are pullbacks

*intersection of subsets is a pullback

*

*more generally, intersection of (copies of) structures embedded in common larger structure, is a pullback; e.g., see here



*equationally defined categories (including sets) are pullbacks

*

*E.g., the category of elements of a functor to sets is obtained via pullback

*E.g., the set of solutions to any equation in two unknowns, such as
$3x + 2 = y$, is obtained by pullback



*Relations are essentially spans and then relation composition is given by pullback

*characteristic predicate for sets make certain squares pullback, and that condition is used to specify characteristic arrows and truth-objects in general categories

*(binary) pullbacks and a terminal object yield all (finite) limits

*

*E.g., products and equalisers are pullbacks



In contrast, whereas pullbacks let us intersect in a mutual context, pushouts let us union along a mutual shared context. E.g., the pushout of two graph homomorphisms $A \leftarrow I \rightarrow B$ is essentially the union $A \cup B$ but we 'identify' (glue, "make equal") all the pieces that orginate from $I$; i.e., we make the disjoint union but treat the images of $I$ as being "the same" and so do not repeat those parts.
