When I teach calculus I keep running into students who regard trig identities and trigonometry in general as something that requires feats of memorization. Personally, I think the best way to really understand this stuff is to understand complex numbers.
To "understand complex numbers", you first need to understand the real numbers in a geometrical way, in terms of a line:
Here exp(i θ) has no meaning other than "the number by which you multiply to rotate by an an angle θ counterclockwise"! Or in other words: "the number on the unit circle which is an angle θ counterclockwise from the number 1." You don't need to know anything about exponentials for this - in fact, it's best if you don't!
Since we have these two ways to write the same number, we have
x + i y = r exp(i θ)
exp(i θ) exp(i θ') = exp(i(θ + θ'))
since it merely says that rotating by the angle θ and then the angle θ' is the same as rotating by the angle θ+θ'.
x + i y = exp(i θ)
So, for points on the unit circle x and y are functions of θ. We make up names for these functions:
x = cos(θ)
y = sin(θ)
Again, you don't need to know anything about trig for this; this is the definition of sine and cosine. So, by definition we have
cos(θ) + i sin(θ) = exp(i θ)
x2 + y2 = r2
For points on the unit circle, r = 1, so item 7 implies
cos(θ)2 + sin(θ)2 = 1
This is the most important trig identity.
(x + iy)(x' + iy') = (xx' - yy') + i(xy' + x'y)
It's hard to see this directly in a geometrical way, since Cartesian coordinates are not suited to describing rotations/dilations. But it's easy to see algebraically once you know i2 = -1 and the distributive law, and both these facts have good geometrical explanations (see items 3-5 for this part of the story).
cos(θ) = (exp(i θ) + exp(-i θ))/2
sin(θ) = (exp(i θ) - exp(-i θ))/2i
It's good to understand these using pictures, too.
cosA cosB = [cos(A+B) + cos(A-B)]/2
sinA sinB = [cos(A-B) - cos(A+B)]/2
sinA cosB = [sin(A+B) + sin(A-B)]/2
which nobody should bother to remember, since they're easy to derive when needed, by precisely the calculation sketched here: turn the sines and cosines into exponentials, which are easy to multiply; then multiply them; then turn them back.
By the way, I think that any course that covers trig identities like the ones we're talking about here without introducing complex numbers is being a bit silly. z = exp(i θ) is just a name for a point on the unit circle; it's like tying one hand behind your back to never call this point by its true name, forcing yourself to work only with its coordinates cos(θ) and sin(θ).