This article is from the sci.fractals FAQ, by Michael C. Taylor and Jean-Pierre Louvet with numerous contributions by others.
Fractint's speed (such as it is) is due to a
1. Reducing computation by Periodicity checking and guessing
solid areas (especially the "lake" area).
2. Using hand-coded assembler in many places.
3. Using fixed point math rather than floating point where
possible (huge improvement for non-coprocessor machine, small
for 486's, moot for Pentium processors).
4. Exploiting symmetry of the fractal.
5. Detecting nearly repeating orbits, avoid useless iteration
(e.g. repeatedly iterating 02+0 etc. etc.).
6. Obtaining both sin and cos from one 387 math coprocessor
7. Using good direct memory graphics writing in 256-color modes.
The first three are probably the most important. Some of these
introduce errors, usually quite acceptable.