Re-inventing the wheel isn't progress, but coming up with radically better solutions is. And that's much harder to do if you have to not just match a specification but also be bug-for-bug compatible with an existing large codebase that you have to reverse-engineer to achieve said compatibility.