Every company begins somewhere. If you want new companies to make it, allowing for there to continue to be 'plenty of opportunities' in the future, then accepting that there are times when repairing the ~sins~ necessities of the past is reasonable.
Many new companies spend too much time perfecting the wrong thing.
But messy code is NOT a requirement to make it.
Messy code, in and of itself, does not help.
Messy code might be a sort of inevitable step on the path to product/market fit. However, it is most certainly not a goal, and dealing with messy code is not a luxury. It is more likely a sign that the early tech people weren't very good.