/usr/bin/
Technically users should not be installing stuff to this location themselves. This is the domain of the package manager and so there could be conflicts depending on what the user installs.
/usr/local/bin/
The systems administrator can install things here that are accessible system wide. The package manager will never touch it.
~/.local/bin/
A per user directory for installing things only for that user. The package manager will never touch it.