Well said. It's like iterating prototypes: why would you spend time and thought engineering it properly? The point of prototypes is they're quick and cheap.
My own experience with reusing code by making a framework in academia: it immediately prompted me to think of interesting cases not possible within it...