I've been reading a lot on this lately. Longer cranks increase leverage but decrease your ability to spin. IF they don't cause you knee pain, they can be helpful in hilly areas, for short rides or time trials, etc. Shorter cranks reduce your leverage but (to a point) allow a faster cadence. For many, a faster cadence generally leads to a faster speed. It really all comes down to your riding style and what you want to accomplish. I am trying 165mm cranks because I experienced knee pain on trips over about 60 miles last year. By using shorter cranks, I am decreasing the angle of my knees and using power through a shorter range of motion. We'll see if it helps. By most calculations, I should be using this length anyway. The cranks on my velo are 155mm. Even spinning, it is easy to lose momentum going uphill, however, the shorter cranks are necessary due to the limited amount of space inside. I have read that some cyclists will change crank length depending upon the landscape of a given race, but not by more than 2.5mm either way.
Basically, it comes down to this; You can start with a size based on your leg length, then play around with it. If you are happy with a 70 rpm cadence, then try longer cranks since shorter ones won't help you anyway. If you would like to spin faster than you do, try shorter cranks. Have fun and when someone tells you, "You should be using x length cranks because they're scientifically proven to blah, blah, blah" just roll your eyes and walk away.