If you are in an area with poor GSM/UMTS signal coverage, then maintaining a continuous GSM/UMTS connection can consume far more power than otherwise. The radio will operate on much higher transmission power levels.
In fact, ususally the half of the battery-energy is consumed by the GSM/UMTS radio, while the other half by staying alive the core electronic parts (phone idle) while in idle state, not awake.
You can save a lot power by disabling UMTS (3G) functionality if you don't need/use it.
3G consumes more power than 2G (GSM). Thus if you don't have a data plan, you should set 2G mode only.
The most power is consumed by the display (particularly S-LCD). You can save some power through minimizing backlight brightness.
Some apps can make wakelocks, which means the phone cannot enter suspend state. Or while in suspend state, it can wake up for extended periods, using the CPU but not the display. If an app has the corresponding permission (wakelock), then it can make the phone fully awake at ANY time, without you'll ever note it.
Auto-sync consumes significant power too. So if you don't need it, you should disable it, particularly photo sync (in Settings). The Gallery app and its indexing process can take much battery power.
If an app wakes your phone frequently, then the best you can do is removing it (and searching for another app, which doesn't wake unnecessarily your phone). Remember: stopping an app from starting after boot won't help: apps can start and run anytime (in response to triggers).
After disabling unneeded services, processes, syncs, and removing apps, always make sure you reboot cleanly your phone ("cleanly" means that you shouldn't use the Reboot option in some custom roms, because it won't make a proper restart: thus you should power off then on your phone).