"There are several reasons why someone would want to build a
custom kernel for their Android phone. In my case, this is because
I wanted performance counters (those used by the perf tool that
comes with the kernel source). In Julian Seward's case, he wanted
swap support to overcome the limited memory amount on these devices
in order to run valgrind.
In both cases, the usual suspects (AOSP, CyanogenMod) don't
provide the wanted features in prebuilt ROMs.