I firmly believe that this "solution" is actually nonsense. Most users who complain about the battery life seem to have the phone in its default settings i.e. synching online every few minutes and with widgets draining power.
Take control of your device by switching off pointless widgets and manually synching stuff and you'll find the difference is remarkable.
Which is odd, because after you do all that, you have a "dumbphone" just like a phone from 10 years ago.
And although I haven't done the calibration since my phone and battery has been just fine out of the box, I have widgets doing background updates, 3G, GPS, WiFi on at home, all enabled 24/7 and my battery lasts 2 days with my typical usage.
The switching your phone on and off is utter bs. That's not how batteries work.
You're 100% right!
Except this has
NOTHING to do with the battery.
The calibration procedure has to do with how the phone's battery management software reads the data for voltage, current, life cycle, and temp of the battery pack and reports the current state of charge to the operating system.
If that data is not reset to allow low and high states of charge to be correctly monitored, then the phone will seem to be low on charge when in fact the battery is still at 50% capacity (or whatever the battery level really is at the moment). The calibration procedure resets the phone's software to read the battery correctly at full capacity, and then correctly reports the actual battery level as it is discharged while being used.
If this is the problem with your phone, then the calibration procedure will fix the issue and battery life will be noticeably increased. If you have issues, then I strongly suggest you run this procedure EXACTLY as stated to reset the calibration software.
If it doesn't work, then you may have a bad battery/phone, or you have a rogue app that is sucking the battery life. That latter can be checked by using a code to check battery history (*#*#4636#*#*) entered at the regular dialing pad. Then tap on "Battery history", "Partial wake usage" which shows what has been eating the battery with the screen off. If it's over about 5% for any process, then you have a rogue app eating the battery. You can also check "Other usage" which shows overall usage and again anything over about 5% is eating your battery.
Note that you can't use the "Testing" code right after a restart as everything will read too high. Wait at least a few hours before checking the "Testing" code menu to let the system stabilize and show what's eating the battery.
A quick tip...pressing and holding the Home button will popup the last 8 programs that have been run recently. Once an app has been run, you can use this shortcut to popup the Testing app without having to type in the *# code again and again.