If the clients are happy, you're doing something right. Lots of people enjoy hot dogs without knowing how they are made...
If the app is a good solution to the problem but you're worried that the foundation is faulty, figure out how to improve things incrementally and pitch a plan to implement those improvements as you update the product. Incremental is key: if you're itching to rewrite whole parts of it, your manager is going to rightly say that's unreasonable. The perfect can be enemy of the good. Look up jwz's story of how Netscape let IE take the lead because they "had to" rewrite Navigator.
If the app's UI is itself a mess, the clients may still be happy because they are comparing it to "the hard way" and even a buggy program can be miles better than that. You are comparing it to an ideal that you can imagine because of your background and skills. Again, consider how you can improve things in incremental ways, and pitch that as part of the plan.
Don't stop caring: you want your work to be the best that it can be. But also remember it's the customer that pays your bills, and you're writing software for them, not you.