/ contains all resources needed to boot, and only that: boot into a bare environment.
Non-essential applications are in /usr. In big networks, /usr is often mounted from the network. With /usr mounted, the system is a lot more usable.
/usr/local is where the administrator of the local machine stores non-essential stuff for his machine only. So you have /usr that is mounted inside / and may come from the network, /usr/local that is mounted inside /usr and should NOT come from the network.
In most configurations though, as we usually deal with small networks, /usr is local, and /usr/local is on the same partition.
And /opt is another story