I recently attempted a large refactoring (yes I know smaller increments and unit testing along the way is preferred) that I just had to walk away from. It's not that I couldn't have done it, but I realized that the time to do it right wasn't justified in the business sense. Normally I am one to tackle refactoring with no fear because of good refactoring tools, unit testing, and source control. I've even had people think I refactor too much (which is probably true).
The code under question mixed Windows forms and server components in the same assemblies, was spread across many assemblies, and was overly generous with generics in what felt like the wrong way (e.g. multiple type parameters, 2-3 levels of generic nesting, and long lists of constraints) -- not bad in itself, but the genericness did nothing to cut down on dependencies and seemed to bloat the code rather than reduce it.
Has anyone else had this experience? What were you attempting to refactor? My particular case was C#, but I've had similar experiences with Java and other languages.