For the past several years I've been of the mindset that systems should be
partitioned up by dividing the OS (the bits that make things go) from the
data (the bits that you actually care about).

So in the case of a webserver, /var/www would get its own partition and
everything else would be on another partition (/). In the case of a shell
server, /home would get its own partition and everything else would be on /.
Obviously this shouldn't be a hard-and-fast rule; a fileserver may have user
data in /var/samba and /home - which you could hardlink together, or make
separate partitions for.

The reasoning behind this is that if you have some sort of storage failure
(filesystem corruption, disk failure, etc) you have either:

1. the OS to help recover the data
OR
2. the data preserved and you just have to fix up the OS.

This sort of partitioning scheme has saved me a number of times.

The more partitions you have of course, the greater the likelihood that
you'll run out of space on one of them. (LVM helps alleviate this, but isn't
always the best choice when optimizing for the common case).

-- 
Carl Soderstrom
Systems Administrator
Real-Time Enterprises
www.real-time.com