Unfortunately, the same thing that's special about UNIX is also the source of most of what's wrong.
An operating system burdened with 25 years' worth of nifty add-on programs (1.1) is bound to have an awful lot of inconsistencies and overlapping functions.
This can be awfully confusing even for experienced users. All you have to do is watch the "flame wars" (arguments) on Usenet (1.33) to realize how little understanding and agreement there is among self-styled experts about exactly how things work.
UNIX's checkered heritage shows up most clearly in programs with overlapping functions that seem to do almost the same thing. What's the logic behind the way both tset (5.11) and stty (41.3) can be used to set serial line characteristics?
There isn't any. These two programs represent independent efforts to solve related problems. The overlap is entirely unintentional, and in a managed development effort, would have been resolved in favor of a single program with a unified interface.
No one said it would be easy. But no other operating system that I know about is as much fun.
-