Nachteile einer Client-Server-Anwendung sind mangelnde Zuverlässigkeit, ausgereifte Tools und Skalierbarkeit. Client-Server-Anwendungen oder Software, die auf einem Client-Computer ausgeführt wird, haben auch die Nachteile höherer Kosten und Risiken der Netzüberlastung.
Da Client-Server-Anwendungen von einem Client-Computer Anfragen an einen Remote-Server senden, wird der Betrieb beendet, wenn der Server ausfällt. Außerdem fehlt es Netzwerkbetriebssystemen wie Windows NT Server an Skalierbarkeit. Ein weiterer Nachteil von Client-Server-Anwendungen besteht darin, dass sie auf den Computern jedes Benutzers installiert werden müssen. In einigen Fällen kann dies so einfach sein wie die Verwendung eines freigegebenen Netzlaufwerks. Es kann jedoch so schwierig sein, wie Stunden damit zu verbringen, Runtime-Software und -Komponenten auf den Computern jedes Benutzers zu installieren und zu konfigurieren.
Die mit einer Client-Server-Anwendung verbundenen Kosten hängen vom Typ ab. Zweischichtige Client-Server-Anwendungen teilen Präsentation, Verarbeitung und Daten in zwei Einheiten, während dreischichtige Anwendungen Benutzeroberfläche, Funktionalität und Daten in drei Einheiten aufteilen. Dreischichtige Anwendungen haben höhere Test- und Migrationskosten, wenn eine Änderung der Geschäftsregeln eine Änderung der Aufrufparameter erfordert. Kodierungs-, Test- und Migrationskosten sind in zweistufigen Systemen immer höher, wenn man die Kosten für den Wechsel von einem proprietären Client-Entwicklungstool zu einem anderen vergleicht. Andere Kosten umfassen Netzwerk-, Hardware- und Reaktionszeitkosten.