Evolution is a fact.
However Darwin's, "Survival of the fittest" Theory of Evolution is a bit shaky, as it relies on "random mutations" to provide the evolutionary changes. I believe that many mathematicians have looked at this and actually concluded that it is statistically virtually impossible for evolution to have occurred as documeted (through fossil records, genetic observation, viral adaption) purely through random mutation.
The problem is that creationists use the holes in the random mutation theory to denounce evolution as a whole.
Personally, I believe random mutation, a la Darwin, plays a part (but a very small one) in evolution, but there is much more to it than that - many species (especially viruses) have demonstrated an actual ability to genetically mutate during their own lifespan to adapt to changing environments. I believe that it is in these sort of mutations that more theories of evolution can be discerned.
Of course, I'm a computer programmer, not a biologist, so this is probably all b*llocks!