I'm a big fan of mh (nmh now) and a sometimes maintainer.
What I love about it is that it's a separate set of commands as
opposed to an integrated blob. That means that I can script.
I also love the one-file-per-message thing, although it's somewhat
less useful with mime; can't just grep anymore.
One of the features that added to nmh to allow it to invoke external
programs when doing its own message processing. I use this to maintain
a parallel ElasticSearch database of my mail; just a simple word to
message folder/file thing. I actually go through the trouble of
decoding many mime times when building this database. This gives me
the ability to very quickly locate messages based on their contents.