Bad code as an invasive species is the freshest take I've heard. I have a hard enough time arguing with people that tech debt isn't about bad code, but shifting priorities and requirements. This is going to be a really useful analogy for me going forward, thanks!

FWIW, I've seen the flip-side as well; solid coding patterns are easy for a person (or an LLM) to copy. To abuse the analogy a bit, your gardeners are happy copying whatever happens to be there, bad code will dominate that process unless actively removed, and the exponential nature of that arrangement favours removing trash code (weeds) early, much earlier than you might otherwise think.