As with many other methods of artificial intelligence, the concept behind genetic algorithms is that nature has successfully created intelligence in the human race and so, if we follow as closely as possible the way intelligence forms in nature, we may possibly create something that can solve the sort of problems that "true intelligence" is required for. The aim of genetic programming is to 'evolve' an algorithm to suit a particular problem by random alterations and a system similar to cross-breeding of plants and animals.
In real life, most organisms (that is, those which consist of more than a single cell) have a number of chromosomes which contain many genes, blocks of DNA that store all the required information for the body to synthesize proteins. (Proteins are required to build muscles and other body tissues, as well as the plasma membranes which surround every cell in our bodies).
Humans have 46 chromosomes that code for every required protein in the body and contain all the information required to create an entirely new human being. The reason that all humans are different is that when gametes (sperm or eggs) are created (through the process called meiosis), a process called 'crossing over' occurs. This is where different chromosomes from an individual are 'blended' together, creating entirely new chromosomes which are still valid, and contain a mixture of many different characteristics from the individual.
Genetic algorithms use this concept to create programs that change in a semi-random fashion in order to
work towards a particular goal. Firstly a series of programs are randomly created, and the ones that work the best
(produce results the closest to the required ones) are "bred" together (their genetic material combined) and another
series of programs is created. As before, the best-performing programs are picked out and the required qualities eventually
become more and more focussed as more "generations" of programs are created.
If you think of what has happened in nature, where an entire race of intelligent, thinking and feeling beings has been created by a very similar method, starting with nothing but a mixture of various atmospheric gases and lightning (it has been shown that it is possible to create amino acids, the building blocks of proteins, by passing electric current through a mixture of gases thought to exist on the world millions of years ago), who knows what might appear though the genetic algorithm system?
It's very good at finding solutions to problems that are difficult or impossible to solve using "traditional" programming - things along the lines of the "travelling salesman" problem and factoring large prime numbers, where there is no obvious solution other than just intuitively trying various values that may be correct.
Hmm, that's a harder question ! Well, all of the above problems have applications in real life!
When applied to problems more complicated than playing tic-tac-toe or navigating a vehicle around a single maze, the program required begins to get more and more complicated, and as its length increases arithmetically, the number of possible programs increases geometrically. Thus the process of evolving solutions to complex problems can take a huge amount of time: the probability of randomly hitting the correct solution if you generate a program decreases as the problem increases in complexity, and thus the process of iterating towards a perfect solution can take a much longer time.
As with all artificial intelligence, genetic algorithms show a lot of promise for the future, even though they may not be particularly helpful at the moment. Stock market predictions and control mechanisms for robotics stand to benefit from these, as genetic algorithms have already made amazing "discoveries" (how to make a robot 'limbo' under a pole and so on ... see above) and as computers get faster they should continue in this manner.