I finally finished tweaking the microstepping code for the Arduino motor shield I designed. Basically, if you're using a stepper motor but the motor is kinda cheap and has big steps (like 7.5deg) then the system will vibrate a lot, even with interleaved stepping and the motion will be very choppy. Microstepping reduces this problem a little by PWMing between steps to create smoother motion. This doesn't mean you've suddenly turned a 48-step motor into a DC servo, but it does help!
The code may be useful for people working with cheapie steppers, like me