I switched to mutt (from mailx) a long time ago, and have found that it only grows more useful as machines and disks get faster, in spite of messages also getting larger. I don't delete messages (except spam) as someone else mentioned above, because of all the mutt features for search, ordering, and limited views. I sometimes delete overweight attachments though, e.g. when I know they are obsolete.
I find myself letting my mailbox grow to quarterly sizes before I shift it off to an older annual archive. I use Maildir for my current working set, but each archive is just an mbox file. Mutt handles 500 MB mbox files with aplomb.
Once in mutt, I tend to use threaded view, but sometimes switch to date of arrival to return to recent stuff I lose track of, for example when it is hanging off of a thread from last month, so nowhere in sight in the last few screens full of messages. And I use the pattern-match search and view filtering very frequently. It's easy for me to do something like "mutt -f mbox.2009" and then limit by sender/subject/body patterns and find the proverbial needle in a hay stack.
The most significant custom setting I used is setting the tab-key to jump to the next unread message in both index and pager views, so I can easily catch up on email that has arrived since my last time looking. I tend to view every message and do triage, rather than defer messages and try to read by topic. If there's a busy topic, the tab key will walk me through in threaded order, since the replies will batch up in between my mail runs. If there's a lone response on an old thread, tab will walk me back to it after processing everything that is nearer in the sort view. If there's something I don't want to reply to or forget, I just use the mutt flagging feature, so I can later come back to handle flagged messages during a more in-depth mail session (again using the search features to good effect, to walk through each message that is flagged in the entire mailbox).