I'm not sure about the older BFS kernels, whether or not they work with Sense 3.0. I imagine they would, but can't say for certain.
In basic terms, the governor just dictates what speed the processor works at, vs the load that's being applied and how much power is needed. When the phone is idle, the work the phone does is minimal, so the governor lowers the CPU speed and power applied. When it comes out of idle, the governor decides what is needed for the task at hand and applies the correct load accordingly. SmartassV2 is a good balance of speed Vs power.
I think your I/O or scheduler dictates how traffic is delivered to and from the CPU. Whether it's done all at once (or in massive chunks), but slowly or tiny bits at once, but very quickly. That's my understanding anyway.
If you want to make that simple, think about it like this. A bus can take 60 people to a location 60 miles away. It can either take all 60 people at once, taking 2 hours travelling at 30 miles an hour, OR it can take them in two trips, taking 30 people at a time, but travel at 90 miles an hour (because it has to go there and come back).
It's not something I've ever worried about, so I wouldn't give it too much thought.