There is a really neat package called witharrows that does a really nice job of what you're trying to do. It creates an environment called WithArrows that takes the place of aligned. There are several tweaks you can use to adjust the spacing, color, and types of arrows used to describe the steps.
Here is an MWE:
\documentclass[12pt]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{witharrows}
%%%%%%%%%%%%%%%%%%%
\begin{document}
\begin{equation}
\setlength{\jot}{10pt}
\begin{WithArrows}
ax^2 + bx + c & = 0 \Arrow[xoffset=-2cm]{Multiply both sides by $4a$} \\
4a^2 x^2 + 4abx + 4ac & = 0 \Arrow[xoffset=-1cm]{Subtract $4ac$} \\
4a^2 x^2 + 4abx & = - 4ac \\
4a^2 x^2 + 4abx + b^2 & = b^2 - 4ac \\
(2ax + b)^2 & = b^2 - 4ac \\
2ax + b & = \pm \sqrt{b^2 - 4ac} \\
2ax & = -b \pm \sqrt{b^2 - 4ac}
\end{WithArrows}
\nonumber
\end{equation}
\end{document}
Here is the output:

\implieswould be a better then using\rightarrow. – Peter Grill May 05 '12 at 18:01