I encourage others to pitch in to concur or correct what I'm saying, but I can offer what I do. When you go into profiles and try to create one, you'll see that one of the first options will be the type of profile you're looking to create. It's a dropdown list to choose from with things like Charging, Charging AC, Charging USB, Screen off, Temp, etc. So you think about what you want to happen: When you're using the phone, you want higher speeds to kick in so you can get good performance, but when you're not using the phone and it's just in your pocket or wherever, you don't need those high CPU speeds, and frankly don't want them high if there's nothing you're using them for. It's also worth considering setting a profile to slow the CPU down if the phone gets too hot.
In any profile, there's the
type, max speed, min speed, scaling, and
priority. For types of Temp, Battery and Time, there's settings for those items within the profile as well.
Most of those categories should be self explanatory.
Scaling has to do with how SetCPU will control the CPU speed within the range that you set.
SetCPU for Root Users will explain what each of them mean (that website will also explain the app very thoroughly beyond what I'm saying here).
Priority is percentage based. Profiles with a higher percentage priority will of course take precedence over profiles with a lower percentage priority. Here's the profiles I have set up:
On the main screen (Default settings when no profile is active):
Max: 748 MHz (I'm overclocked--if you're not, the maximum you'll have on the Optimus M is 600 MHz)
Min: 245 MHz
Scaling: on demand
Set on Boot: Yes
------------------------------
Type: Screen Off
Max: 122 MHz
Min: 122 MHz
Scaling: on demand
Priority: 100
Type: Battery <
Battery <: 15%
Max: 245 MHz
Min: 122 MHz
Scaling: on demand
Priority: 76
Type: Temp >
Temp >: 40 deg C (104 deg F)
Audible Warning: Yes
Max: 748 MHz
Min: 245 MHz
Scaling: conservative
Priority: 50
As you should be able to draw from the numbers, when I'm using the phone, I let it ramp up. When I'm not, I make it run as slow as possible to save the battery. If it gets hot, I have it calm down a bit. Generally only seems to get hot when it's in my pocket and I'm outside for awhile on a Texas 100+ degree summer day.
There is an argument that sounds reasonable to me at least for stock kernels (no overclocking) that says Android is good enough on its own to exercise good control over the CPU speed, making SetCPU unnecessary. As for overclocking, I want to be able to know exactly what's going on when the CPU is running faster than stock spec, so I see it as critical in that context.
I hope this answers your question.