You can't do any serious data engineering or spectrum analysis without using imaginary/complex numbers. FFTs - in fact all Fourier/Laplace/Z Transforms use two dimensional representation of numbers. The whole idea is in some ways related to vectors, in the sense that an imaginary number can also be expressed as a length (amplitude) and an angle (phase).
Let's define Z to be a complex number where the real part is called real(Z), the imaginary imag(Z). Amplitude is then named mod(Z) and angle arg(Z) (modulo and argument). They can be calculated using:
mod(Z) = ( real(Z)^2 + imag(Z)^2 ) ^ 1/2 . The length, just like in trigonometry
arg(Z) = abs(real(Z) * atan(imag(Z) / real(Z)) . The angle, again just like in trigonometry

Z kan then be written as mod(Z) < arg(Z) (Not really a less than sign in the middle. It means angle) - eg. 12<pi/2 is the same as 0+12i (where i is the square root of -1)
    Quite convenient for some things.
  • Multiplying two complex numbers A and B. A * B = mod(A) * mod(B) < arg(A) + arg(B)
  • Dividing two complex numbers A and B. A / B = mod(A) / mod(B) < arg(A) - arg(B)
  • Taking the power (natural number) of a complex number A^n = mod(A)^n < n * arg(A)
  • Taking the squareroot of a complex number: A^1/2 = mod(A)^1/2 < arg(A) / 2 and the same result multiplyed by 1<pi
The rest of the rules are a bit too complex for HTML (good excuse, eh?), but I guess you get the point. Good thing to know is that if you take the nth root of a complex number, you get n valid results (just like -1 is in a sense the squareroot of 1, which complex numbers actually take into account: The squareroot of 1<0 is 1<0 and 1< pi which is = -1)
In a frequency spectrum (of eg. a sound), all frequencies are represented by an amplitude and a phase. Sounds familiar? It is! Read more in the transformation links!