A long read @ osnews (4 parts) "The Command Line - The Best Newbie Interface?" -> http://www.osnews.com/story/6282
I think any serious Windows user that wants to use cli a lot installs cygwin, because windows cmd.exe has very few (and less flexible) commands than unix. Only to name one, I don't think windows has any sed substitute (yes, you can install sed for win32, but...)
Being a heavy commandline user myself, I'll try to point what (IMHO) makes cli better for most tasks than point&click.
- data scalability: Say you have 10 files. ok, no problem if you have an icon for each file. but with actual hdd, we have LOTS of data, and directory structures are far too complicated to have a nice visual appealing. say you have to move a file from c:\program files\foo\bar to c:\Documents and settings\kidd\Desktop\mydir\mydir2 . It's very likely in each directory, you'll have 20 more dirs and 20 files. Anyway, you must KNOW where you want to go, so one option is visually grepping icons until one matches the word you're repeating yourself, and the other is to just type the path. A well configured shell and Tab key are priceless. My desk is usually messy, so I want my Computer desktop to be clean 'per se' when I see desktops with 50 icons there I always think of a meta-computer to organize it
- more features don't clutter the system: Imagine you use program XYZ, that uses menues as it's only way to do things. If XYZ had 9 features, no problem, you can have 3 top-level menus, and 3 submenus each. Ok, now XYZ goes 2.0 and now it has 9999 features. you see the problem, right? Many GUI apps have shortcuts for some features but others (programs or features) do not have adequate shortcuts. As cli apps can only receive instructions commandwise, interfaces use to be more consistent and regular (programs like mc are somewhere between GUI and CLI)
To ilustrate both last topics: http://www.online-tech-tips.com/wp-content/uploads/2008/02/customize-start-menu.png
For me that's not very usable. And I've seen pretty worse ones.
I do many repetitive tasks on my comp. Why not automate them? GUI automation is a nightmare. CLI is fairly easy even for people with few or no programming knowledge, just the up arrow will do most times.
You can do ssh faster and easier than using vnc or any graphical remote apps.
ls works here and at the other side of the world. cli is pretty distro/unix agnostic.
I hope it wasn't too long...