As desvantagens de um aplicativo cliente-servidor incluem falta de confiabilidade, ferramentas maduras e escalabilidade. Aplicativos cliente-servidor, ou software executado em um computador cliente, também têm as desvantagens de custos e riscos mais altos de congestionamento da rede.
Como os aplicativos cliente-servidor fazem solicitações a um servidor remoto a partir de um computador cliente, quando o servidor é desativado, as operações param. Além disso, os sistemas operacionais de rede, como o Windows NT Server, não têm escalabilidade. Outra desvantagem dos aplicativos cliente-servidor é que eles devem ser instalados no computador de cada usuário. Em alguns casos, isso pode ser tão simples quanto utilizar uma unidade de rede compartilhada. No entanto, pode ser tão difícil quanto gastar horas instalando e configurando softwares e componentes de tempo de execução no computador de cada usuário.
Os custos associados a um aplicativo cliente-servidor dependem do tipo. Os aplicativos cliente-servidor de duas camadas dividem a apresentação, o processamento e os dados em duas unidades, enquanto os aplicativos de três camadas dividem a interface do usuário, a funcionalidade e os dados em três unidades. Os aplicativos de três camadas têm custos de teste e migração mais altos quando uma mudança de regra de negócios exige uma mudança nos parâmetros de chamada. Os custos de codificação, teste e migração são sempre mais altos em sistemas de duas camadas ao comparar o custo de troca de uma ferramenta de desenvolvimento de cliente proprietária para outra. Outros custos incluem custos de rede, hardware e tempo de resposta.