Programs you install using RPMs usually install into /usr while programs that you compile yourself install into /usr/local (if you run the 'make install' bit as root they'll automatically install into /usr/local). This is for programs that follow the Unix convention of spreading themselves across bin, lib, share... structure. For programs that just install into a single 'program folder' (for example the Firefox that you download from mozilla.org) you put them in /opt.
Linux doesn't really have 'system files' or a system directory. The kernel and important boot files live in /boot, basic commands live in /bin and /sbin, system-wide config lives in /etc and most user programs live in /usr. However besides the kernel calling anything else a 'system file' is arbitrary - eg. is samba 'system files' or an application?
Anyway is all described in the File Heirarchy Standard: http://www.pathname.com/fhs/pub/fhs-2.3.html