IMO command line "interfaces" are only suitable to programs. A command line interface is basically a language for communicating with the program. I'd rather not spend the time learning a substantial amount of the language just to be able to use the program for common tasks.
An example of this is revision control systems. I always personally liked darcs but was limited to the command line interface. When I tried out GitX I made the switch instantly after being loyal to darcs for years. Sadly there are still things you have to use the command line for in GitX but there is no reason it has to stay that way.