The Command Line Interface (CLI), a computer dialog operated using text commands instead of clicking on various icons and graphics, can be useful, but only to user communities with specific, often more advanced needs.
There are a number of reasons why the CLI is not ideal for a typical lay user (for example a student who surfs the web, writes papers and checks email; an employee tasked with drafting reports and entering data; or a personal computer user who wants to use social networks, consume media and organize a library of photos and home videos)
For these and similar user communities, the non-intuitive nature of the CLI combined with a lack of benefits related specifically to these common tasks make it less appropriate as an interface. A CLI cannot display images, for example, which eliminates a number of these activities.
CLI vs. GUI
Most lay users are completing tasks which require a large amount of media-rich data to be displayed at the same time (such as a web page, a formatted document, or a social network) and they need to see it all in order to choose the next course of action. This basic type of behavior is perfectly suited to a Graphical User Interface (GUI), and not a CLI.
The CLI requires the memorization of many specific text commands, rather than point-and-click functionality, so for those users who do know the commands, many tasks can be done much quicker and efficiently.
Users with a computer technology background, system administrators, and database technicians are all communities that benefit from the CLI. They can script repetitive tasks using just a couple of commands, or quickly see and manipulate files that are stored in directories.
For another example, someone using the Microsoft Access GUI to create a database would have to click a lot of buttons to create a new database or make a major change to the existing data.
In contrast, a user on the CLI could just enter a few lines of MySQL to accomplish the same task. This would save a ton of time, but it requires knowledge of this language and the particular commands.
Finally, the CLI uses less CPU and memory than a GUI, and there may even be times when you cannot use a GUI due to a crash or other system problem, and the CLI is the only way to try and rectify the situation.
 An exception to this user would be an employee who is entering data into a database using MySQL on the command line, which would allow them to better interact with a web server and more conveniently make large changes with just a few commands. Most likely, however, the employees using the CLI would be database designers or administrators; the data entry employees would be using a GUI such as a form generated through Microsoft Access.