It is a very complete and definite theory!
There's quite a good Wikipedia article but I'll try to summarise it.
Most kinds of animals produce more offspring than are needed to just "replace" the parents. Many of the offspring will die before they get a chance to reproduce themselves, but some of them will survive and reproduce. The offspring will vary a bit between themselves - for example having different colours of fur. Often that doesn't matter, but sometimes having fur the right colour can affect how likely you are to survive. Say a small number of hares were white instead of brown. Normally that's a bad thing, because being brown is good for hiding, but then imagine they lived in a place where the climate changed and it became ice-covered. The white hares would be much better camouflaged than the brown ones, so the brown ones would get eaten and the white ones would survive and go on to have white offspring. So, over time you go from them being brown to them being white.
Now imagine that this group of white hares stayed separate from the population of ordinary brown hares for a very long time - thousands of years - and imagine that other changes happened to their genes over that time as well. Maybe they got smaller sized, because smaller ones survived better in the icy conditions.
Eventually they came back in contact with the brown hares (who had carried on living somewhere not icy). But by now they were very different and couldn't breed with each other. You now have two different species of hares.
Obviously, that's only a tiny example, and they've only split into two quite similar species (small white hares, and big brown hares), but you can see how lots of small steps like that over the millions and millions of years that life has existed can add up to the huge diversity of animals and plants we now have.