What are the sources of harmonics? Why are they generated?
Assume that we have a voltage waveform of the form:
\$v_s(t) = \cos(\omega t) \$
In words, the source voltage waveform is composed of a single sinusoid of (angular) frequency \$\omega\$.
If this waveform is the input to a linear circuit, the output will also be composed of a single sinusoid of the same frequency as the input.
For example, a linear voltage amplifier scales the input signal by some constant \$A_v \$:
\$v_o(t) = A_v v_s(t) = A_v \cos(\omega t)\$
Now, consider what happens when the amplifier is non-linear. For example:
\$v_o(t) = A_v v_s(t) + 2\alpha v^2_s(t)\$
This amplifier has a 2nd order non-linearity. By a simple trigonometry identity, we have:
\$v_o(t) = A_v \cos(\omega t) + \alpha[1 + \cos(2\omega t)]\$
See what happened? The output is no longer composed of a single frequency but, due to the non-linear term, now has a DC component as well as 2nd harmonic component.
If instead of a 2nd order non-linearity, the amplifier had a 3rd order non-linearity:
\$v_o(t) = A_v v_s(t) + 4\beta v^3_s(t) \$
you might guess that a 3rd harmonic will be generated. Let's see:
\$v_o(t) = (A_v + 3\beta)\cos(\omega t) + \beta \cos(3\omega t)\$
Note that the 3rd order non-linearity creates a 3rd harmonic as well as an additional 1st order term.
Essentially, even-order nonlinearities generate even harmonics while odd-order nonlinearities generate odd harmonics.
Now, a symmetric circuit, such as a complementary push-pull circuit, generates odd-order harmonics for the reason that the even-order nonlinearities cancel.
An example of a circuit that creates 2nd order harmonics is a single-ended FET (a square-law device) amplifier.