The idea is that you don't install binaries and system files in user's home directories so you can't mess with them (and on a workstation so they can't get accidently fux0red by general usage), although I leave some statically compiled apps in my home dir (eg firefox). If you have a true multi user system then putting apps into each users home dir would be a poor use of disk space and would be a pain to upgrade.
Generally I think you're meant to put most things into /usr/local, it's kind of like c:\program files on winblows.
Check this out:
http://www.pathname.com/fhs/