I've been playing Minecraft since its Beta, and have used many mods before, but now I play in a shared world with my wife (been on it for ten years now) and it has grown extensively (we play Creative, but we have built so many things in it...). We've only been using cosmetic mods because we don't want to include mods that will change the world by creating new blocks, behaviours, and such, in the case of one not being uptaded as the game evolves, despite having many envies like Fossils, Jurassicraft, Harvestcraft... We could of course "set" the world to a specific version and then mod it to our convenience, but there are a lot of official content that we enjoy as well.
How do you people work around this ? One silly idea could be to wait for the game to not being updated anymore, but it sounds a bit extreme
When a mod doesn't update I either play on that version if I want to try it out/miss not using it. Or use an alternative made by someone else. Like you see many 'adds Vanilla blocks from future versions to older versions', 'rotten flesh to leather', 'obsidian/emerald armour' and more mods out there. But some mods that don't have alternatives that close that don't get update usually stay on that version.
Most times they don't update due to the creator not making the mod open source/given them the license for the new creator to keep updating the mod and the old creator just haven't continued to play the game/care to mod anymore or are too busy. It's best to look for any alternatives if you can or still with a version if you really want to use that mod but otherwise can't be helped as versions differ and modloaders can change like Forge has in 1.13 to be so different to 1.12.2 and how 1.7.10 and later versions are different.