From programmer perspective: when you create some tools, there is often case (for example no need duplicate common code), when you can integrate all these tools in one executable file and invoke specific by, for example: "mytools -T delall" or "mytools -T stop_server". There is also a procedure inside reading filename by what this tool was called and if it will be recognized to automatically invoking specified function, for example if you rename this tool to "delall" it will invoke first tool function, and if you create a link with name "stopserver" it will call second, etc. Executed function depends on filename.
The most notable example is BusyBox
, it can do many functions that way (ls, mkdir, rm, cd...), and is usually used in environment with limited resources, like memory and storage size. With separate program to every of this function more memory would be needed.