Going by the definitions on Vortaro.net, they are very similar.
Translated to English, povi is defined "having the strength, skill or ability to do something", and kapabli as "having the 'kapablojn' for", with kapablo being "A property, strength or skill or knowledge, necessary for doing something".
So the dictionary definitions are practically the same.
However, povi is broader because unlike kapabli it can also mean:
2. having the right or the power to do something
3. having the permission or the possibility to do something
An example for definition 3:
"ni ne povas diri 'obei al la patron' "
"we cannot say 'obei al la patron' " (note: it's either al or -n, not both)
In this case kapabli is not possible, because while grammar does not allow us to say it, we are still perfectly capable of saying it.
If, in English, I say "I can run a marathon," it's really not true, because if I put on my shoes and went out the door right now, there's no way I'd manage more than a mile or so. But if I say, "I'm capable of running a marathon," that means I think I can do the training and stick with the process, and wind up doing the whole 23 miles at the end. (But I'd rather be hiking or bicycling... )