I'd recommend looking into a game's code only for a very specific goal. F.e. if you've found a glitch, but don't know exactly what causes that glitch to occur, you can do a RAM search to find at least one related memory address. Then, you can disassemble the game and try your best at finding all lines of code that modify that address (this isn't as easy as it sounds). If you're lucky, you're going to get some very valuable information from that.
If the disassembler is integrated into an emulator, it'll hopefully let you define break points, which means that once the game has reached a certain line of code, the emulation will come to a halt. This way, you'll be quicker at finding out what the area of code around your break point actually does.
I have so far only disassembled/debugged [URL=
http://www.zophar.net/snes/geiger-s-snes9x-debugger.html]SNES[/URL] and [URL=
http://www.zophar.net/gb/no-gmb.html]GB[/URL] games, using these tools.