Se os clientes estão felizes, você está fazendo algo certo. Muitas pessoas gostam de cachorro-quente sem saber como são feitas ...
Se o aplicativo for uma boa solução para o problema, mas você estiver preocupado com a falha da base, descubra como melhorar as coisas de forma incremental e elabore um plano para implementar essas melhorias à medida que você atualiza o produto. Incremental é a chave: se você deseja reescrever partes inteiras, seu gerente dirá corretamente que isso não é razoável. O perfeito pode ser inimigo do bem. Veja a história de jwz de como o Netscape deixou o IE assumir a liderança porque eles "tiveram que" reescrever o Navigator.
Se a interface do usuário do aplicativo é uma bagunça, os clientes ainda podem estar felizes porque estão comparando-o com "o caminho difícil" e até mesmo um programa de buggy pode ser muito melhor que isso. Você o está comparando a um ideal que você pode imaginar por causa de sua formação e habilidades. Mais uma vez, considere como você pode melhorar as coisas de maneira incremental e inclua isso como parte do plano.
Não pare de se importar: você quer que seu trabalho seja o melhor possível. Mas lembre-se também de que é o cliente que paga suas contas e você está escrevendo um software para eles, não você.