When I took a comparative languages class in school, the teacher said that the complexity of a programming language varies with the square of its number of features. I wonder if it's similar for command line options in shell-callables? On the other hand, adding command line options was (at least at one time) seen as a way of distinguishing GNU tools from Unix tools - that is, they were seen as a way of avoiding the copyright lawsuits that were snipping at BSD's heels.