Article note: This is a ...narrow... view. Most modern unix-like systems are absolutely lousy with binaries that behave differently when called with different names.
All the common preboot environments and small embedded linuxes have a busybox type thing where _one binary_ provides most of the POSIX environment via symlinked names. Etc.
Where most of the users’ time will be spent in routine operation of the product, and where learning is only a small part of the picture, designing for productivity – even if it requires retraining- is often the correct decision.