Hm, why do you think we haven't evolved with perfect memory? Could there be a good reason?
The standard answers to this kind of question are:
1. Local optimum: Evolution is a black box optimization process. No black box optimization process that progresses in reasonable time can cover all of the search space, so they will get stuck in local optima. The eye is a good example of a local optimum. The nerve fibers are on the wrong side of the eye, so you get a large blind spot where the fibers go "out of the eye" and into the brain. However, to fix this suboptimal design would require a rather large trek through solution space, and some of the intermediate solutions would be so bad that evolution would weed them out. Therefore, the eye remains as it is. The same may be the case for memory structures in the brain.
2. Shifting tradeoffs: Evolution is also quite slow. Therefore, its tradeoffs are based on an environment in which we no longer reside, where food was scarce and one had to save energy lest one died. This sort of wrong-tradeoff optimization is evident everywhere you have obesity, for instance.
In this case, perhaps near-perfect memory was too heavy a weight to bear in conditions of scarce resources. If it was, evolution would not have optimized in that direction, because the losses (due to having to expend more energy) would be greater than the gains (of greater planning or what have you). Now, on the other hand, we do have much more energy available, but evolution hasn't caught up.
So to sum all of that up: to the degree that the evolutionary process visits close to optimal solutions, it is slow, and to the degree that the evolutionary process is fast, it skips certain solutions that might be very good. In both of these cases, technology can cover what evolution does not - when evolution is blind, technology can be less so; and when evolution has its blind spots, technology have others so they can make up for each other's partial coverage.