Why do we use base 10?
We use base-10 because it's the system of counting used by the dominant groups in the early history of Europe and the middle east.
That being said, we do use other bases from time to time, such as for counting time. Our early systems for counting time at night were based on the passage of stars. Interestingly, 24 stars were used to divide the night, though it was divided into 12 periods. This was carried through to divide the day by 12 periods as well. The Babylonians brought in base 60 to count minutes and hours, which we use to count angles as well, since our early angle-based calculations were often astronomical in nature. (source)
Base 12 can be counted on one hand, but it's less convenient to count on the tarsals since someone farther away can't see as clearly what number you're indicating. If people had six fingers per hand, of course, we'd probably all be using base 12 right now.
Problems with base 10
Base 10 isn't a terribly efficient base to use, mostly because of its prime factorization. Dividing a number by anything besides 2 and 5 leads to a repeating decimal. Since people tend to divide by small numbers more often than bigger numbers, a counting system with 2 and 3 as prime factors would lead to fewer repeating decimals.
Other bases
So what base should we use instead? Often times base 8 and base 16 are suggested, but these aren't really that useful except for their easy conversion to binary, since 2 is their only prime factor. Let's consider three other candidates: 6, 12, and 30.
Base 30 seems like a good choice because it has 2, 3, and 5 as prime factors, but it would require 30 different characters to write in. There also isn't a good biological way to count to 30 on your fingers. Increasing the size of a given digit also increases the difficulty of computing digit-wise operations. In base 10, a multiplication table of pairwise operations contains 100 values. In base 30, there would be 900 such terms to multiply.
Base 12 is much simpler. We lose the ability to divide cleanly by fives, but twos and threes are more common. Counting on tarsals gives us a convenient way of counting biologically. Overall, not a bad choice.
However, my first choice for a counting base would be base 6. It's divisible by two and three, and adding divisibility by four doesn't add that much to a counting system since its only prime factor is two. Large numbers would be a bit longer, around 44% longer than base 12 numbers, to be exact ($1/(ln(2))$), but we'd only have 36 elementary operations instead of 144. Base 6 also makes zero-based counting incredibly convenient to do on your hands. Since the digits in base 6 are 0-5, all of which can be displayed on one hand, the right hand can be used for the first digit and the left hand for the second. Holding up five fingers on each hand would be read as 'fifty-five', instead of as 10, though this is 55 in base six, which is equal to 35 in base 10. Twelve would be two sixes, written '20', which would give us time that's an even multiple of our base.
Dividing on your fingers
Since you can count on both hands, it's possible to divide any base-6 number by two or three on your fingers pretty easily. Take your number (say, 5), and represent it with your right hand, with nothing on your left: ----- ||||| (Those are up and down fingers.)
Now, we subtract fingers off our right hand one at a time until it's divisible by what you're dividing it by. If we're dividing by 2, add 3 fingers to the left for each finger you put down. If we're dividing by 3, add two. Once your right hand is divisible by the number you want, divide it and you're done.
So 5/2 goes like this: ----- ||||| -> |||-- ||||- -> |||-- ||---, which equals 2.3, or 2.5 written in base 10. For 5/3, we get ----- ||||| -> ||||- ||| -> ||||- |, which equals 1.4, and is a repeating decimal in base 10.
You can repeat this process to divide by 4, and add fingers to the left hand to do two digit numbers, though you'll have to include some toes if you want the remainder.