<...> just puts in the font's normal '<' and '>' characters as binary relations. As Mark S. Everitt said, you almost never want this.
\langle ...\rangle inserts a completely different set of characters which are narrower and taller than '<' and '>'. It also puts them in as delimiters, which means they get special spacing and have a slightly different shape in
\scriptstyle (used for, e.g., superscripts).
\left<...\right> is an alias for
\left\langle ...\right\rangle. These do not do the same thing as
\langle ...\rangle! The differences are described in this answer, but the main things are that
\left<...\right> scales to its contents and adds extra space sometimes.
EDIT: Another important difference is that
\bigr>) may be used alone, since they're just delimiters.
\left must always be followed by
\right, which is why
\right. (the blank delimiter) exists. Also, in case it wasn't clear,
\langle does not really care what's in the rest of the equation, since it doesn't scale to contents.