I think precompiled packages go wherever they want to. When you compile, you have more control. But, in essence, Windows groups files by programs (with plenty of other random scattered crap in WINDOWS\System32 and Documents and Settings\WhoozitsData or wherever (I forget). Linux stores files according to function. Some things go into /opt akin to 'Program Files' but mostly, as ranger-nemo says, the executables go in */bin - the configs go in */etc and ~, the docs in */doc, and so on.
So it's more on which filesystem - standard is to leave /bin and /sbin to the system, as well as /usr/(s)bin and so on. Mostly you'd want to install with a prefix of /usr/local which means most stuff gets distributed under that directory tree. But you can install them to somewhere in $HOME such as ~/bin or wherever you want. (Most binary packages install the executables in /usr/bin, though.)
The cool thing is that /usr/local can be on its on partition (safe if you need to reformat a piece of the disk) and Linux distros don't touch it as a rule.
And, yeah, your personal files should go under /home/your_user_name. Even there, /home used to be under /usr, I think, and I've had it under /usr/local/home before. You can do whatever you want but the path of least resistance and least complications is to go with defaults - my junk in ~; programs with '--prefix=/usr/local'. The *nix fs is actually pretty cool and will make sense after awhile if it doesn't now.