The GNU Compiler Collection (GCC) compiles the C or C++ code that it is given into machine code that is understandable to the processor. In doing this there are many choices the compiler is faced with. There are many different ways of implementing various control structures in machine code. GCC has some standard setting that aren't too bad at all - but in most cases not quite optimal. The various flags offered by the compiler (there are about 30 of them) are enigmatic even to gcc developers. Nobody knows exactly which flags influence compile time and runtime or in which way.
With 30 different flags available testing all of them would be impossible. This is where acovea comes in handy. It uses a so called genetic algorithm to find the optimal flags for each individual system.
 Genetic Algorithms
For more details of course you should read Scott's page mentioned earlier. If you're really interested in the theory then I must recommend the excellent book "The Blind Watchmaker" by Richard Dawkins. After understanding his book you will understand why a genetic algorithm is suited to this kind of complex problem. Be warned however that just in the same way as evolutions has taken millions of years up to date, running acovea is highly processor intensive. Expect one iteration to take well over 24 hours with an Athlon-XP / Pentium 4.