About 90% of the time in the better Smalltalk implementations, you can tell the debugger to forget the last few stack frames, or jump back to the "start" of the current one. Nearly unfettered replay-ability is almost as good as stepping backwards.
I agree - If you're focused on debugging.
But there's much more to that. "Running backwards" is not "replay". Running backwards a clock-program will result in hands turning anti-clockwise. Not mentioned the possibilities you can do, if program-speed can be set beetween 100% and -100%.
I think most people think about that as they do with nearly every true innovation: "What schould that be good for?"