I run a custom ROM on my Samsung Galaxy S. The hard part is knowing which ROM to pick. If you want stability, I would stay away from Cyanogen, because they tend to be more experimental and bleeding edge.
If you visit the XDA forums for Galaxy S 2 and go to the Android Development page, the most popular ROMS will be on the first or second page. Typically you can get an idea of the stability of the ROM by looking at the change log and how frequently bug fixes have been made to the ROM recently. For instance, if a new ROM was just released, or it seems to have very frequent serious bug fixes, you may want to stay away for a while. However, if you find one that has been out for a while and the serious bug fixes have died down (as opposed to feature updates), then it is probably okay.
You can usually find reviews of ROMs on various Android community sites, but I'm not familiar enough with where to go.