Pros and cons of hibernating
There are two different suspent modes:
- suspend-to-ram - usually just called suspend
- suspend-to-disk - usually just called hibernate
Suspend-to-disk is usually relatively slow such that on some machines it is just faster to do a real boot.
Suspend-to-ram leaves the RAM powered. Depending on your hardware this may consume very little energy. On most hardware the suspend/wake-up is very fast (1 - 2 seconds) and it does not consume a lot of your battery. For example on my Thinkpad it is no problem to leave it > 10 h in suspend-to-ram.
The only disadvantage of suspend-to-disk I can think of, is that is more difficult to setup with encrypted swap partitions.
Sure, for kernel-upgrades you have to reboot a long running system - but you have to do that in any case. And technologies like ksplice are changing that for a lot of security related patches.
Regarding memory leaks - if you have a memory leak, it is most likely in some bad behaving application and then you can just restart that one application.
I supend-to-ram all the time because it is so convenient to directly restart working where you left - I just reboot for security related kernel upgrades or distribution upgrades. Thus, an 'uptime' of over 100 days on my laptop is nothing special.
Pros:
Whatever you were doing prior to hibernation is still there next time you boot.
Hibernation (unlike suspend) uses no power when in hibernation.
Cons:
Hibernation takes longer to boot that a normal start up (but the time savings in having all of your applications running may make this worth while).
The more RAM you use, the longer it takes to hibernate/restore. I used to use hibernation a lot in Jaunty and Karmic but Lucid uses quite a lot more RAM so hibernation takes a long time.
For hibernation to work, you need swap space >= to the amount of RAM in the machine.
I suspend my laptop regularly (which hibernates if the battery goes too low) and rarely shut down, the only annoying thing I notice is that if you get a kernel security upgrade you need to reboot the machine to apply it, so there's a convenience/security decision to make there.
When I am at home on my private network I tend to not care and leave it, but when I am travelling on someone else's network I reboot to apply the updates.