/bin  lsやcp辺りのないと困る奴
/sbin fsckやmkfs辺りのシステム操作系
/usr/bin パッケージ管理で入れた奴
/usr/sbin パッケージ管理で入れたシステム操作系
/usr/local/bin 自分でビルドした奴
/usr/local/sbin 自分でビルドしたシステム操作系
$HOME/bin 自作か拾ったスクリプト

ただ今は/usr/binに集約して/binはただのリンクだとかなんとか
/optではProgram files\みたいにプログラム単位で管理するけどなんでこれが推奨されないのか
それをやったのがgoboLinuxなんだろうけど