I personally like the differentiation between /sbin (71 files) and /usr/sbin (195 files) on OpenBSD and /bin (42 files) and /usr/bin (336 files).
I don't know if it's still the case, but at one point, everything required to boot up a system, and get to a ksh prompt, was in /sbin and /bin, and the only purpose for commands in /usr was for user interaction.
When mentally modelling the purpose of the commands, it was nice to have that differentiation, particular the "Stuff in /usr is really for the user only, not needed to boot a system."
Of course, I have no idea whether that still holds true - but it's still a good starting point.
Yes, it's still true. /(s)bin is for booting a minimal system i.e. for maintainance and those binaries are statically linked. /usr/(s)bin is the rest of the base system. /usr/local/(s)bin is for packages/ports.
I don't know if it's still the case, but at one point, everything required to boot up a system, and get to a ksh prompt, was in /sbin and /bin, and the only purpose for commands in /usr was for user interaction.
When mentally modelling the purpose of the commands, it was nice to have that differentiation, particular the "Stuff in /usr is really for the user only, not needed to boot a system."
Of course, I have no idea whether that still holds true - but it's still a good starting point.