Die anderen Antworten sind alle ausgezeichnet und Spam hat viel damit zu tun.
Aber es gibt tatsächlich eine einfachere, allgemeinere Antwort: Funktionen. Das Senden von E-Mails über SMTP ist eigentlich ein sehr komplexes Unterfangen. Auch ohne Spam möchten Sie nicht den gesamten Funktionsumfang des SMTP-Protokolls in jedem E-Mail-Client implementieren. Mit einer dedizierten Software sind Sie besser dran (sendmail, postfix usw. sind die großen in der * nix-Welt, Exchange in der Windows-Welt).
Beispielsweise muss ein "echter" SMTP-Server selbst im einfachsten Fall in der Lage sein, MX-Einträge aufzulösen. Dann muss es Features aushandeln (meistens TLS, aber es gibt auch andere Features). Es muss Warteschlangen für Wiederholungsversuche verwalten, Unzustellbarkeitsberichte erstellen usw.
Und das ist nur die grundlegende, unverzichtbare Funktionalität, ohne die der Server nicht funktionieren würde. Es enthält nicht einmal Dinge wie das Umschreiben von Adressen oder Mailertables. Ganz zu schweigen von den rund ein Dutzend anderen Protokollen, die sendmail ua unterstützen, wie z. B. UUCP.
Die SMTP-Implementierung in Outlook, Thunderbird usw. ist sehr minimal - bestenfalls ungefähr so viel wie die Verwendung eines Smarthosts für Sendmail, wenn dies der Fall ist.
Verwandte, aber separate Probleme: E-Mails sind ein sehr sicherheitsrelevantes Thema, und Sie möchten, dass ein oder mehrere zentral verwaltete Server sie verarbeiten, anstatt möglicherweise Hunderte oder Tausende einzelner Server auf jedem Desktop.