When are two morphisms the same? Let $\mathcal{C}$ be a category and let $f,g:A\to B$ be two morphisms in $\mathcal{C}$. If for all $a\in A$ we have $f(a)=g(a)$, do we necessarily have $f=g$? Of course such a situation can make sense only in a category whose morphisms are "functions" (or not?) , but even then, when does it hold? It holds in $\mathbf{Set}$, but is this all?
 A: If your category has a terminal object $1$, then an element can be defined as a morphism $x:1\rightarrow A$.  Categories in which two morphisms are equal if and only if $f\circ x=g\circ x$ for all elements $x$ are called well-pointed, as Zhen Lin pointed out.  There are categories that are not well-pointed.
A: A generalized element of $A$ is by definition a morphism $a : A' \to A$. Then it is trivial that $f \circ a = g \circ a$ for all generalized elements $a$ of $A$ implies $f=g$. We just have to use the universal generalized element $\mathrm{id}_A : A \to A$. This observation is connected to the Yoneda embedding (the part that it is faithful).
A: In a concrete category over $\mathbf{Set}$ the morphisms between two objects are injectively mapped into the functions between those objects' underlying sets. So if two morphisms in whatever-category have underlying functions distinguished by extensionality, then they'll be distinct.
 In general, this same idea should work for categories concrete over any category with a generator, using the individuation criterion from the underlying category to produce one in the concrete category.
But categories in general don't come with a neat, ubuiquitous identity condition.
Hopefully I haven't misremembered anything above...
