The goal of disassembling a game, or a program, is to convert it from its compiled form (a series of bytes, arranged in one or multiple files) to a more comprehensive form.
It can also be thought as the opposite of compilation (see reverse engineering on Wikipedia).
This page lists such projects, as far as Pokémon games are concerned. This page will also reference projects that partially disassemble the game (such as RAM and ROM maps).