Most of the time, the reasons that the shell is preferable to the desktop are that the available tools are quicker to use and/or have more options. However, in some cases, the reason to use the command line is that you simply have no choice -- equivalents are just not available on the desktop.
The problem isn't that the desktops aren't trying to fill in the gap. The same is true even on desktops like Windows, which have been desktop-oriented for many years longer than any Linux desktop.
Rather, the limits on desktop tools seem part of the general philosophy of the graphical interface. Desktops are not supposed to support every possible tool. They are designed for general users, not administrators, and only the most basic subset of administrative tools ever find their way on to any desktop in any operating system.
For this reason, the number of command line tools with no desktop equivalency is a long one. It includes NIS, SSH, modprobe, and dozens of others, especially ones that involve setting up, maintaining and using networks, or keeping a system secure.
Personally, I am especially fond of Debian's dpkg-reconfigure, which provides a text-base interface for reconfiguring major sub-systems, such as video or locale settings. I regret the fact that Ubuntu is deprecating dpkg-reconfigure for several purposes, especially since nothing on the desktop is half as handy.
A minority of Linux desktop users prefer the command line in all circumstances. They are proud of their expertise, and seem to consider themselves the natural heirs to Unix, despising the desktop and everything on it.
To me, this position is so nonsensical that it borders on the perverse. Obviously, the desktop is more useful than the command line any time that you are working with a visual display -- which is why I have never warmed to LaTeX. I mean, you can use LaTeX for advanced layout if you insist, but why go to the effort when you see what you are doing and save time?
However, a much larger problem today is that many mainstream distributions are determined to ensure that users never venture off the desktop. Certainly, the desktop is good enough for the most common daily tasks, but, when you consider all the latent power awaiting at the command line, not to help users learn the possibilities seems contrary to free software's goal of empowering the user.
What matters is not whether a command line or desktop interface is used, but what tool is best for the task at hand. In some cases, that tool will be on the desktop. However, in many cases -- especially when administration and setup are involved -- that tool needs to be typed in at the prompt. Nor is that basic truth likely to change.