The latest versions do not come with a memory card "dongle" which is better. There is an Evo edition of this which comes with a 16Mb USB Memory Stick which you can use to transfer saves to a PC and back. It can also be used to download code lists (though I am a little uncertain as to how up to date they are). This device also uses a small amount of memory card space (72 Kb I think).
If you have American PS2's then the ARMax option is also available there.
A cheaper option is a Codebreaker (make sure it is version 9). I have one of these for American games and it is possible to convert ARMax codes to use on it if there are some that are not available at Codebreakers. One major advantage of Codebreaker is that if you have a USB Memory Stick you can download what they call "Day 1" codes which are available for all new games so that you can just download the new codes that you want. One disadvantage with the Codebreaker is that the device writes the new codes (with I presume the existing ones) to your memory card and this, if I recall correctly, uses about 2.4 Mb so you need a fair amount of space.
For Japanese PS2's it is down to an Action Replay. Either an ARMax or an Action Replay 2 (some places still have these in stock).
if you have any kind of flash memory (card readers, flash drives) go with codebreaker. Codes are created almost overnight. They had 1000+ gran turismo 4 codes the night after it came out