I haven't found a use for the PAUSE button in WiiRD yet. I was hoping that I could pause the game at a specific point and use WiiRD to determine the next instruction to be executed, but that doesn't seem to be possible. I initially thought that maybe it was used to make sure no values were changing while performing a search, but the very act of performing a search pauses the game. So, if anyone can offer ideas, I would greatly appreciate it.
Pause is useful when you want to do things one frame at a time. For instance, if you're looking for your character's coordinates in memory, you might try jumping or falling. What you should do is pause, then hold the jump button down, then hit next, and now you can release the jump button and continue hitting next to do a frame-by-frame (*) step through the game. You can search memory during each frame, and you might get 10 to 15 results all while your character is still jumping up into the air the first time!
It's also useful if you're trying to hack a timer. For instance, a lot of games make you temporarily invincible when you get hit. If you find the timer that counts your invincibility, you can make it last forever.
EDIT: lol, I never did the * footnote. WiiRD can't really do frame-by-frame because sometimes it steps two frames instead of one when you press next. So if you try to do a timer search using "different by 1" sometimes it will mess up. In order to get an accurate single-frame step you need to set an execute breakpoint on the code handler, or use Gecko dotNET's BPNext.