I have an iphone. Wifi sucks through the battery rapidly. 3G is better.
If you need data only now and then and there is enough standard coverage, turning off 3G delivers more life as well.
High screen brightness also sucks through it. I set it low which is fine for using the phone and some browsing. For photos it needs tobe high and I use a shortcut to increase it. Auto brightness is not intelligent enough to do the job.
Also I go out of coverage a lot so I always set flight mode then to save power.
Andriod users I talk to have much the same experience.