PokeGen is a Pokemon data editor for Generation 4 and 5 games (DPPtHGSSBW). It works from a computer and can interact with a game by using one of these: an Action Replay, a flashcart, or a GTS sending program. Raw PKM files can be saved and edited in all current formats (encrypted, decrypted, 136 byte and 236 byte), and new files can be made from scratch.
PokeGen focuses on making Pokemon editing easy, while still keeping Pokemon legal in terms of the game itself. Pokemon generated by other programs are more likely to look "hacked" than a Pokemon generated from PokeGen.