Interesting fact is that, among three clients we tested, only mutt faithfully implemented the standard. It honestly grouped all messages referenced to the same ID into the same parent, despite subject or sending time. However, neither Gmail or Outlook respects the "References" field.
In Gmail, it seems subject of the message plus [one of <time of message sent> and <References>] are used for grouping. But it certainly doesn't exclusively rely on "References" since we got messages referenced to same parent message grouped into different conversations.
In Outlook, "References" field is ignored completely. It only relies on subject of messages. We got messages for different "event" from more than 10 days from each other, grouped into same conversation.
[1] http://tools.ietf.org/html/rfc5322#page-25
EDIT: fixed typo
Also, the "mark thread as read" feature in mutt (^R) is a life saver when sorting through dozens of discussions.
But ultimately I can't; I don't need pretty colors or graphical tricks. I do need something which understands that it's not 1975 anymore. My mail no longer lives in a local spool file, and there is no longer a local sendmail. I have multiple email addresses, which use IMAP, and remote SMTP.
And none of the console clients -- including Mutt -- can really do that. Every couple years I try Mutt again, and try whatever the current crop of attempted successors are, and get thrown right back into 1975 again and give up in frustration.
(and Mutt, last I checked, actually considers it both a feature and a point of philosophical purity/pride to refuse to acknowledge the fact that anything other than "shell out to local sendmail" exists. Also, IMAP was unbearably slow, usually requiring a full re-fetch/re-index of the entire remote inbox, potentially hundreds of thousands of messages, every time Mutt started up, and multiple IMAP accounts were an unholy mess)
It is also worth pointing out this era predated SQLite.
Too many programmers find a Next Greatest Thing and then try to reconfigure problems to fit the newfound solution. Too many managers "need" solutions that are buzzword-compliant. Combine these and you get projects that are "written in C++ and use databases" and are thus a success regardless of whether they work.
The union of those two things is probably not a big component of most people's daily work though. Computers are fast now, you can get away with a lot of naive code.
2. This is a great example of the perils of re-writing code that you don't completely understand:
4.0 eliminated the "dummy thread parent'' step, which is an absolute necessity to get threading right in the case where you don't have every message (e.g., because one has expired, or was never sent to you at all.) The best explanation I was able to get from them for why they did this was, "it looked ugly and I didn't understand why it was there.''
However, in the absence of an overview, if the code that you don't understand was written by jwz, you might want to study it very hard before removing it. :)
It was fun and worked extremely well, though it did give different results than gmail on some instances.
1. Got tired after working on it for a year, mostly on my own. I felt the need to join a team doing something bigger.
2. Ran out of money
3. Wanted to relocate to Silicon Valley, but as a foreigner it would have been too complicated to move with my startup.
4. The project was too ambitious. A full blown email client is hard to write.
5. I was a Windows guy a that time, but all potential early adopters were OS X users. Though we did had OS X support, the app wasn't as nice or polished as it should have been.
It's interesting because we started working on this roughly at the same time as the Sparrow team. In the end, they released way before us because they focused on a narrower niche (simple gmail client for OS X, instead of the cross-platform email + todo list manager that we were doing). They won :)
Edit: pointed to correct URL
See "Write a decent mailing list Web archive system" on http://suckless.org/project_ideas for an example.
Messages with the same subjects are not threads!