En /usr normalmente se instalan datos accesibles para los usuarios: ejecutables, lanzadores, configuraciones comunes…
En /var se guardan archivos “temporales” pero no tan temporales como en “temp”, como logs y cosas así.
Si quieres hacer una limpieza automatizada de tu sistema, puedes probar BleachBit. Es el equivalente a cCleaner de Windows, pero libre y sin porquerías. Ya está configurado de serie para eliminar archivos innecesarios, y suele estar en los repositorios de las distros mayoritarias.
En usr se almacenan los programas y archivos de configuración (fuentes y configuración especifica de cada programa) accesibles como los usuarios.
En /usr/bin vas a encontrar los programas que instalaste, en /bin en cambio, vas a encontrar los programas del sistema como bash.
Cuando desarrollas un script en bash y te gustaría que el mismo fuese accesible a lo largo del sistema como cualquier otro, se debe copiar el script dentro de /usr/bin. Eso hace que al escribir el nombre del script en la terminal, ya lo detecte como un programa más.
También se suele considerar una buena práctica copiar ahí mismo los archivos .AppImage para que estos también sean accesibles a lo largo del sistema.