PCSX2 is the only PS2 emulator currently worth using. That said, it is very underwhelming in the accuracy department, with thousands of bugs and graphical glitches. However, since version 1.4, the emulator is capable of playing 2455 games without any major glitches (regardless of speed), and playing 56 game at a non-playable speed or with major graphical or accuracy glitches. Check the Game Problems FAQ for the most difficult titles.
Play! can run quite a few commercial games but is still pretty far behind PCSX2.
hps2x64 can also run quite a few commercial games, but probably less so, and at slower speeds, than Play!.