Furthermore, notmuch never ever touches your mail storage. It just operates on tags. It is up to you how to turn tag changes into actions. I find this incredibly elegant and flexible.
I do not tag things manually. I tag incoming messages automatically using searches. Since search is so powerful and quick, I do not really feel I need tags. If you do, mu or mutt/neomutt might be better suited.