Its still a valid and important way of constructing software systems. But users mostly don't want a separate UI for each of those components, they want them strung together in a way which provides a simple experience that allows them to get the things they want to do done.
How is automatically recognizing meaning and surfacing action requests from email a "barely related" feature to an existing email client?
Emacs is the polar opposite of the Unix philosophy; it's more in line with the Lisp Machine tradition. Programs like sort, uniq, and grep don't embed interpreters for dynamic languages and provide thousands of different extensions for anything from reading mail to connecting to IRC.
Are you implying that there ever was a time when all programs did only one thing and did it well? Which era was that?