Just the minimum libaries needed to boot and administer the machine are in /lib. Look in /usr/lib to see most of the libraries. Depending on your distribution, you might have /opt/kde/lib and/or /opt/gnome/lib as well. Unless you specify otherwise, libraries compiled with the "./configure && make && make install" sequence wind up in /usr/local/lib.
Regarding library versioning, I think the major reason the Linux approach is considered better than the Windows approach is the library version is part of the filename in Linux. Start reading the gcc-HOWTO here: http://tldp.org/HOWTO/GCC-HOWTO/x575.html
for some insight on this.
In reality, libraries on Linux aren't perfect either. I upgraded a library and it caused a program to stop working. It was because the programmer of the library changed the interface of the library without incrementing the version properly. If libraries were versioned as described here: http://sources.redhat.com/autobook/a...tobook_91.html
and ldconfig was tweaked to understand this method more deeply, libraries would be perfect on Linux.
Maybe this will help,