In which case $M_1 \times N \cong M_2 \times N \Rightarrow M_1 \cong M_2$ is true? Usually for modules $M_1,M_2,N$
$$M_1 \times N \cong M_2 \times N \Rightarrow M_1 \cong M_2$$
is wrong. I'm just curious, but are there any cases or additional conditions where it gets true?
James B.
 A: A standard result in this direction is the Krull-Schmidt Theorem:
Theorem (Krull-Schmidt for modules) Let $E$ be a nonzero module that has both ACC and DCC on submodules (that is, $E$ is both artinian and noetherian). Then $E$ is a direct sum of (finitely many) indecomposable modules, and the direct summands are unique up to a permutation and isomorphism.
In particular:
Corollary. If $M_1$, $M_2$, and $N$ are both noetherian and artinian, and $M_1\times N \cong M_2\times N$, then $M_1\cong M_2$. 
Proof. Both $M_1\times N$ and $M_2\times N$ satisfy the hypothesis of the Krull-Schmidt Theorem; decompose $M_1$, $M_2$, and $N$ into a direct sum of indecomposable modules. The uniqueness clause of Krull-Schmidt yields the isomorphism of $M_1$ with $M_2$. $\Box$
A: I recommend A Crash Course on stable range, cancellation,
substitution and exchange by T.Y. Lam, 2004, which is a pretty good guide to the phenomenon.
Update: Another question surfaced which contains a sufficient condition for cancellation. The condition is: $\hom(M_1,N)=\hom(M_2,N)=\{0\}$.
