Objectively filtering code as accepted or discarded according to a high standard of quality is fairly easy when judging others' code. It's a lot more complicated when judging our own code :)
I'd argue we're naturally biased to hold our own creations on a higher pedestal, and hence more likely to keep them instead of discarding or rewriting them.