Cognition is based upon the leaked early developer build of 2.2 for the Captivate, which wasn't really meant for end-user use. It was made by DesignGears, who has now focused mostly on Perception.
Serendipity (formerly Assonance) is based upon modern official I9000 2.2 ROMs. They are more up-to-date and advanced than the leaked Captivate 2.2 beta, but they lack specific tweaks for the Captivate's unique hardware (while sometimes having stuff for hardware the I9000 has but the Captivate doesn't). Perception is in this category too.
So, it's basically a choice: do you prefer to start with an old Captivate ROM, and try to hack it up to be more-modern with less bugs? Or do you prefer a modern ROM for different hardware, hacked as best they can to work on the Captivate with the least issues?
Neither is a perfect solution, but the latter seems to be the trend. This may change though with the Armani and Rodgers Captivate ROMs now being out. Devs are experimenting with them.