I've been tinkering around with cpu governors quite a bit in my Android kernels. I believe governors are a single most effective way to improve or diminish the "user perceivable" performance of the device.
Here's my personal take on governors that are included in stock and other custom kernels:
performance - max speed all the time
powersave - lowest speed all the time
conservative - slow ramp-up
The next few get a bit more complex. ondemand, interactive, and smartass all try to pretty much do the same thing: perform well and power efficient. But the way they approach their goals are very different (ie. their algorithms are very different).
1) ondemand - been in linux for a long time and we got really smart linux kernel developers working on it and the code gets reviewed by really smart people. At the same time this governor is really designed to work on desktops, servers, phones, etc - a universal solution.
2) interactive - developed by CM (I think), tuned for performance. Instead of sampling at every interval like ondemand, it determines how to scale up when cpu comes out of idle.
3) smartass - developed by erasmux for his android kernel. Popular for its ability to use android's onboard suspend mechanism to keep the phone below a certain clock speed when screen is turned off. Also does slow ramp-up like the conservative governor.
Instead of the above, here are the three governors that I include in my custom kernels: