Mainly because they started the dev in 2009 /2010
Nonsense.
SMF 1.0 was started in 2003, released in 2004.
SMF 1.1 was released in 2006.
SMF 2.0 was released in 2011.
SMF 2.1 was released in 2022.
I wonder how much code is from the 2010 era in the latest SMF?
It's hard to have accurate stats, but approximately 120,000 lines of code existed as 2.0.0.
The GitHub stats - allowing for the fact that what was dumped onto GitHub (because SMF's code repos predate GitHub... they predated the entire existence of Git) was slightly ahead of 2.0 final, and allowing for the very immediate changes thereafter, so from early 2012 through to today...
442781 additions, 311694 deletions - where 1 line changed counts as 1 deletion (the old line) and 1 addition (the new line). That to me suggests quite a lot of reworked code in that time, and a significant amount of new code added.
2.1's dev cycle is mostly the product of 'we don't actually know when we're done because we can't decide what should be in it' but that includes a replacement editor, draft post saving, a new theme, alerts, native support for international domains (including autolinking based on links and domains even including things like accented letters), and a lot of works to ensure that mods play better going forwards (assuming mod authors update and use the features provided) plus good compatibility with PHP 8 / MySQL 8 / recent Postgres / Maria 10, in ways that SMF 2.0 just couldn't really do as well.
The thing about old code, it's a known quantity. It *works*. You've battle tested it, you've had it running for *years* and many things just don't suddenly stop working in that time. One of the biggest lessons out there is to never do a complete rewrite - because it'll inevitably take you longer and more money to do than to overhaul what you have.
Examples? Well, Borland has several - they lost out in multiple of the wars to Microsoft, over Quattro Pro vs Excel, not to mention several of their lesser known products, because they started over, had to re-learn all the wisdom.
But the best example I have is Netscape. Netscape 4.x was considered by a very serious group of people to be a better browser than IE, and that had a point, to be sure. But they started on a full-bore rewrite, which never saw the light of day - this was Netscape 5. By the time they realised the hole they'd gotten into, they were so far behind it was unwieldy. They *tried* to fix that, with the joy and mess that was Netscape 6, but to no avail. What remains was eventually cannibalised into Firefox years later. But the landscape could have looked so very, very different if that hadn't happened.
I give you this from someone who was there at the time -
https://www.joelonsoftware.com/2000/11/20/netscape-goes-bonkers/ - and in case anyone's wondering who Joel is, he's one of the co-founders of Stack Overflow (and its entire network, Stack Exchange). Dude has been running software businesses for years. Trello was another of his originally. Dude knows things.
SMF has many faults, not least of which a community that has no idea what it wants the software to be except to remain exactly what it is forever as far as I can tell. But the people at its heart understand only too well that a complete rewrite isn't that useful.
I should know. I actually started to try. I'm now 6 years in from that journey and backing out of it because trying to 'modernise' it doesn't get me anything at all, and starting from scratch just means redoing what's already there!