Depending on there kernel, there can be up to 5.
Conservative: Scales between min and max at slow time intervals.
On Demand: Scales between min and max at very quick time intervals.
Powersave: Runs the CPU at the min frequency in the set range.
User Space: Not 100% sure but I believe that lets the app decide what frequency to set.
Performance: Runs the CPU at the max frequency in the set range.
Not sure of anyone that uses the userspace option. I use conservative mostly since it allows for a better scale of speeds instead of the high or low of ondemand. It scales to quickly for my liking. If I'm going to use something CPU intensive, I set to performance.
Hope that answers your question.