I work on a commercial application and getting paid for doing it does not make criticism any easier to take. Probably it makes it worse because it still sucks, _and_ I have an obligation to give it consideration because this customer has paid their money for something. And, there's no winning either, you can have the crappiest of applications and someone will make a suggestion for something simple like, "This button would make more sense if it were located here." So, you move the button. Well, there's going to be someone out there who's good opinion of your software for some reason was based entirely on where that button was originally located who is now going to complain that it has been moved on them.
Anyways, I wouldn't be swayed by any of the arguments I've seen here. Oh, you're not a craftsman. Oh, you're not a good programmer. Oh, you're not a nice guy. FLOSS is going to die. Total BS. You're not obligated, and you've already given them something for free, and they're being ungrateful and just trying to pursuade you to do more for them for free. I say stick to your guns and do only the work that you enjoy and feel like doing as you have the time to do it. If people can't appreciate the fruits of your labor such as it is, that's their problem.
The trouble with doing something right the first time is that nobody appreciates how difficult it was.