You didn't ask me, but: Because mutt is a very fast and efficient email program and happens to be a console program, and graphical user interfaces tend to not add anything useful to email if you are communicating with people who know how to use email.
Using Mutt is the easiest way I've found to get and (more importantly) keep GPG configured. Yes, people use it; in my case, for interacting with some open source projects.
I've played with setting up various graphical clients with it, but I don't use GPG every day, and it somehow always manages to break in some annoying way. Configuring that with Mutt is loosely coupled enough that it just keeps working.
And second, once you're comfortable with your config, triaging huge amounts of mail is blazingly fast. You might not notice the delay that comes from the occasionally slow GUI reactions, intentionally slow animations, dialogs, the mouse, etc. But compared to the instant reaction to single character commands, there's no contest, and if you're catching up on an enormous amount of mail for some reason, it really makes a difference.
And if you ever have to deal with automated mail systems that succumb to sudden-onset logorrhea in your direction, regular expressions for tagging mail for group operations are a godsend.
Secondly, the availability. Having a mosh/ssh connection to your shell service works over the crappiest internet connection you might come across.
And finally, it doesn't change. Every time gmail changes their UI, I hear lots of complaints from people using it. This new mutt release will work with your existing config files and have the same look and feel you're used to.
Speed and efficiency. Very convenient keyboard only use.
Highly configurable and scriptable.
Available from anywhere with ssh.
mutt does many things out of the box that other programs cannot do or just with plugins and/or inconveniently hidden functions. Some examples of things I frequently use:
- Add "Approved:" headers for moderated/closed mailing lists
- Add or remove In-Reply-To headers as needed (remove if I reply to an old mail but it has nothing to do with the thread; add if I reply to a mail from a mailing list that I don't have any more but I have the message ID from an archive)
Mutt is particularly good at tagging and filing email: move down a list, marking things with a single keystroke, then filing them with another couple of keystrokes. Or you can filter by query with regexes. It also has proper tree threading, which is useful for mailing lists.
There are some users at my company who do not filter their email into individual folders automatically.
Those tend to be the users who accumulate upwards of 100K messages. At some point, their mail client throws up and stops responding, and they call for help.
I use mutt to load their gigantic inboxes, tag everything in certain date ranges, save those messages to new folders, and leave them with inboxes merely holding messages received since January 1, or in the last 3 months, or whatever makes them happy. This takes about 30 keystrokes.
Then I suggest that they automatically filter messages, and sometimes they take me up on that.
At my last job, I used it partly because it was what I was used to, and partly because I used Linux (for my job) and there aren't any great Exchange clients for Linux. At least with the version of Exchange we ran, you only got OWA "lite" if you weren't on Internet Explorer. And I didn't really want to use Thunderbird or something.
It also has the advantage of being in the same interface that I use for everything else... basically the same reasoning that I use Slack in the browser instead of as a separate app.
The ability to consistently access my email from any device (Linux desktop, non-Linux desktop, Android, iOS, whatever) with the same UI is pretty nice. With Gmail I'm finding that the experience differs a lot based on how I connect.
Finally, console clients are good at passing through emailed patches unharmed (e.g., not converting tabs to spaces), which is useful if you participate on LKML or a small number of other open source fora where the standard way to send patches is through email. You can of course get git to talk directly to your SMTP server, but I like seeing what I'm emailing in my client before I email it.
* Actual macros and extensibility (i use mu4e which isn't strictly a console e-mail client, but it's text-based and allows me to Elisp the crap out of any issue i'm having).
Because everything else works in a terminal, and my own mail client is so very scriptable.
(Sure you can add hooks, and things to mutt, but once you have a mail client with a real integrated programming language it is hard to move back from. Mark all messages read? A single keystroke. Perform operations on messages that are less than 24 hours old, and contain a given token in the subject? Just a short function away.)