Embedding and monomorphism What is the difference between an embedding and a monomorphism? As far as I can see, most introductory abstract algebra texts treat them as if they are the same, i.e. an injective function from one algebraic object to another that somehow respects the algebraic structure.

An "embedding" is an injective homomorphism, as you describe.
A "monomorphism" is a concept from category theory. Formally, a monomorphism is a homomorphism $f:A\to B$ with the property that whenever you have two distinct homomorphisms $g,h:X\to A$, then $f\circ g$ and $f\circ h$ are also different.
For most kinds of algebraic structure -- in fact, every "usual" algebraic structure I can think of right now -- this turns out to be the same as an embedding, and indeed "monomorphism" is usually thought of as (morally) a generalization of "injective homomorphism".
However, one can construct artificial examples where this is not the case, such as:
Define a unicorn to mean a set $X$ with a designated element $0\in X$ and a function $S:X\to X$ such that $S(X) \cup \{0\}=X$. A unicorn homomorphism is then, of course, a map $f:X\to Y$ with the property that $f(0_X)=0_Y$ and $f(S_X(x))=S_Y(f(x))$.
Now consider the unicorns $\mathbf 2=\{0,{*}\}$ with $S_{\mathbf 2}(0)=S_{\mathbf 2}({*})={*}$, and $\mathbf 1=\{0\}$ with (of course) $S_{\mathbf 1}(0)=0$.
Then the unique map $\mathbf 2\to \mathbf 1$ is a unicorn homomorphism. It is clearly not injective (and therefore not an embedding), but it is a monomorphism -- for the trivial reason that there is at most one homomorphism $X\to \mathbf 2$ for any unicorn $X$, so the condition for being mono is vacuously satisfied.
