Variable frame durations occur as a result of realtime capture on preemptive multitasking computers, such as your Mac.
In essence, it isn't possible to guarantee an exact timing between frames. This happens for all kinds of technical reasons that we won't go into in this document.
The result is better shown visually. The first (topmost) image shows frames landing perfectly on frame boundaries. The lower image shows what happens in realtime capture, where you have frames occuring close to, but not exactly on, frame boundaries. It also shows that it is possible to skip entire frames.

Most of the time, if the frame durations are "close enough" then visually we don't see this occuring. There is however one application that "throws a wobbly" when encountering variable frames. Enter: Final Cut Pro (not FCPX. FCPX is quite happy to take in most any digital footage).
Note that on Lion - number (2) occurs automatically if you disable variable frame durations. That is to say that when you record using Lion you are always recording using variable frame durations. After recording is complete, iShowU HD Pro will automatically run the "fix frames" process on the video.
Which solution you take is dependent upon your situation. If you have sufficient CPU resources you may be able to achieve reasonable rates using Option 1. In most cases however; you're better to choose Option 2 and re-encode later. In general Option 2, while it introduces another step in the workflow produces smoother captures.
In cases where you are using a slower machine (Core2Duo) or are recording CPU, Disk or OpenGL intensive applications, you will almost certainly have to choose Option 2.