Although it's best to use a tripod to keep camera movement to a minimum, it's sometimes not feasable. Especially when shooting sports when you need to get out of the way!

I found a cool free filter for VirtualDub called Deshaker. You can get it here:
http://www.hlinke.de/Home_d/RTFX-Plugins__D_/Beispiele-Studio/Deshaker/deshaker.html

It works well with both progressive and interlaced sources. It's a two-pass filter that is quite effective and fast. Here's a demo clip I made:
shake.wmv

I had to compress the crap out of it to fit the 2-meg limit, so the quality isn't as good as I'd like but it does illustrate the effect well. It's better to not watch it in full screen.