It happened to me in the past that for some reasons a project (software app) has become very messy, or we inherited it that way.
With messy I mean that some basic best practices was not followed at some point, and as a result everybody was a little scared to touch anything because you don't know how it's going to affect the whole (say at this point the project misses 10% to be completed), this leaded to a even worse situation. We realized this status too late, when the project was close to be finished and we hoped we needed very little maintenance.
But I'm wondering what to do if the situation comes again, of course you should avoid the project to get to a point where you're afraid to touch it, but once it's there, is it acceptable to make an exception, limit the work do do on it and fix each problem the short way. When does it worth to refactor it anyway, going out of budget?