Linux follows different rules from Windows.
Linux favors the use of a package manager to manage installed software. The way to know whether a program is installed is not by looking for its files, but by searching the list of installed packages. Different distributions use different package manager; under Ubuntu, the GUI is the Software Center, and there are several command line tools that can show whether a package is installed and information about that package, the main ones being:
dpkg -l name-of-package
dpkg -s name-of-package
apt-cache policy name-of-package
aptitude show name-of-package
If a program is installed through the package manager, you don't really care where it's installed: you shouldn't be modifying the files anyway. If you need to investigate something, you can list the files belonging to the package (under Ubuntu, with
dpkg -L name-of-package). Software installed by the package manager lives in the directories under
/bin for executable programs,
/lib for code libraries,
/sbin for programs useful only to the system administrator) or under
/usr (which has these same subdirectories plus a few more). The distinction between
/usr is historical — back in the days when hard disks were small and
/usr could be shared between machines while
/ was needed to boot.
Programs installed manually by the system administrator, without the package manager, live under
/usr/local. These are “local” software installations, as opposed to installations made by the operating system. Windows has a similar distinction — programs under
c:\Windows vs programs under
c:\Program Files — but it's less noticeable under Windows because very few programs are bundled with the operating system and there is no standard package manager, so pretty much everything ends up in
Programs installed by a user end up in that user's home directory.
Linux (like other unix systems) uses this organization where files are grouped by function rather by origin because the function determines how other programs will look for those files. For example, all executables are in a few directories (
~/lib) so there is no need to modify the PATH when you install a new program.
What is somewhat inconsistent is the use of
/opt. It's for software which is organized the Windows way, with one directory per package. Ubuntu doesn't use it, but a few programs come this way, for example Google Chrome.
Location Managed by
/, /usr package manager
~ (home directory) user
On Ubuntu, if a program isn't provided by the distribution, the easiest way to install it is through a PPA if there is one — which there is for Komodo (see also How do I install Komodo Edit?).