I've found CM much worse than stock on my SGS2. I've installed the Jkay mod and frozen a bunch of stuff with titanium and now I have great options and a battery life of >24 hours with about 4.5 hours of screen time.
The SGS2 was a very tough device to develop for because no other device used the Exynos SOC. It didn't have a Nexus device to help it out either. Luckily, the Note and SGS3 also use the Exynos SOC, so a lot of the work that was put into the i9100 was easily ported to the Note and SGS3.
JKay mod is cool and I wish some of those tweaks like adding double tap support to CM9 would work.
However, I'm not a fan of TouchWiz, and while it's usable I find it to be a burden.
You're right though. CyanogenMod is definitely not something "usable" unless its on a Nexus device.
I noticed for my Motorola Milestone, CM7 just ate up so much RAM in general it was unusable until the dev added quite a few memory tweaks, but this didn't happen til summer 2012. I had to use CM6 for the time being.
CM9 on the SGS2 had many issues. The camera wasn't fully working til March or so, and auto brightness issues made it difficult to use until being resolved in June. There's still problems like BLN not working unless it causes a wakelock, etc.
My Nexus S lacks torch on CM9. I don't even know why the hell they can't figure that out.
I'm ok with working with a phone that's getting constantly updated, but trust me there are times when I just want it to work fully, and CM will always be a work in progress. I do completely understand when ppl make fun of me for not being able to make calls yesterday because my phone was in a bootloop or because I missed a bunch of texts while flashing my phone, or losing a bunch of data. I deal with it, but at the same time I wish I didn't have to.