You are basically right. We have five because our ancestors had five and there is no strong evolutionary advantage to having more. I found the answer at the Mad Scientists Network (http://www.madsci.org/): "Many animals have five fingers on each limb. Salamanders, armadillos and humans all have highly divergent types of fingers, but they each have exactly five. Losing a finger really doesn't lower the fitness of an organism, and upping the number to six wouldn't have a very big impact either, so why five? Quite simply, all the organisms with five fingers are decedents of the same five- fingered ancestor. Since the development of those five digits, the selective force on the number of digits has been inconsequential. Instead, different types of fingers were selected for: gripping fingers for the salamander, digging fingers for the armadillo, and grasping fingers for humans. The various types of fingers are said to be homologous (derived from the same ancestral source). For more information on homology see another MAD Scientist's description of pentadactally (http://madsci.wustl.edu/posts/archives/mar98/890148788.An.r.html)." [John Carlson, Medical student, MD/PhD (Parasitology), Tulane University, School of Medicine] On another note: I recently learned that every human (and presumably every vertebrate) embryo goes through a "starfish" stage early on. In other words the human embryo is practically indistinguishable from a starfish embryo. And of course we all know that starfish have 5 arms. Maybe this has something to do with it.
Here is the back-of-the-envelope calculation for the number of fingers. Look at your hand, and you'll see that your finger lengths are very roughly the same as your palm diameter. Who knows why; that is for someone else to explain (or me sometime in the future). But given this, it means that the body (palm) radius is half the limb (i.e., digit) length.
Let B be the body (palm) radius, and L the limb length. The above empirical observation that the palm *diameter* is roughly the same as finger length means that
L = 2B.
The limb ratio, k, is defined as L/(L+B).
We have, then, k = 2B/(2B+B) = 2B/3B = 2/3.
Recall that my hypothesis predicts that the number of limbs, N, is approximately equal to 2*pi/k, when limbs are 360 degrees around a body. We have, then
N = 2*pi/k = 2*pi/(2/3) = (3/2)*2*pi = 3*pi = 9.425
But recall that for hands, only half the perimeter has been selected to have digits (unlike a free-floating starfish where limbs are needed 360 degrees around). So, the prediction for hands is only 1/2 of the prediction above, which is 3*pi/2 = 9.425/2 = 4.7, or approximately 5. Yes indeed, we have 3*pi/2 fingers! Fingers and pi have more in common than cherry stains! For more on this, visit Changizi's website.