Python: Operator Undo Method
Blender's undo system works by saving the blend file to memory, and loading it to perform the undo. If your operator doesn't fully undo, you're probably calling other operators from within its code. That's usually a bad idea; modify object properties and call functions instead.

There are no undo/redo functions that you can override.