I think that many discussions about evolution -- even by evolutionary biologists -- rely much to heavily on the idea that evolution involves some kind do optimization process (as in Genetic Algorithms). Evolution is a random process that only cares about survival. Optimization is an occasional side effect.
Analogies that incorporate the optimization perspective can easily mislead.