Les autres réponses sont toutes excellentes, et le spam y est pour beaucoup.
Mais il existe en fait une réponse plus simple et plus générique : les fonctionnalités. L'envoi de courrier électronique par SMTP est en fait une entreprise très complexe. Même sans spam, vous ne voudriez pas implémenter l'ensemble des fonctionnalités du protocole SMTP dans chaque client de messagerie ; il vaut mieux utiliser un logiciel dédié (sendmail, postfix, etc. sont les plus importants dans le monde *nix, Exchange dans le monde Windows).
Par exemple, même au niveau le plus basique, un "vrai" serveur SMTP doit au moins être capable de résoudre les enregistrements MX. Il doit ensuite négocier des fonctionnalités (principalement TLS, mais il y a aussi d'autres fonctionnalités). Il doit gérer des files d'attente pour les nouvelles tentatives, générer des rapports de non-livraison, etc.
Et ce n'est que la fonctionnalité de base, indispensable, sans laquelle le serveur ne fonctionnerait même pas. Cela n'inclut même pas des choses comme la réécriture d'adresses, mailertables. Sans parler de la douzaine d'autres protocoles que sendmail et al supportent, comme UUCP.
L'implémentation du SMTP dans Outlook, Thunderbird, etc. est très minime - au mieux, elle équivaut à l'utilisation d'un hôte intelligent sur sendmail, voire plus.
Le courrier électronique est un sujet très sensible sur le plan de la sécurité, et il est préférable d'avoir un ou quelques serveurs gérés de manière centralisée pour le gérer, plutôt que des centaines ou des milliers de serveurs individuels sur chaque poste de travail.