Some of the CAF patches they incorporate break compatibility with AOSP. So what that means is google's code will no longer work with a cyanogenmod ROM. As a result, kernel devs need to make specific varients of their kernels that support cyanogenmod. An AOSP based kernel will not work with CM/CAF based ROMS , and a CM/CAF based kernel will not work on an AOSP based ROM.
Another layer of complication is the developers. Some choose to support CM based ROMs, others wont since it was CM that broke compatibility. My favorite kernel is franco kernel, and that developer chooses not to support CM based roms. As a user I'd rather be able to run franco than CM, so thats why I said I would move on when they do break compatibility.