Vim is out there for decades now, but some years a go neovim has started to rise. Neovim or not depends highly on your expectation, what you want to do with your editor.
When I started using vim for larger projects, I needed more convenience in editing code. Of course, you can quickly get syntax highlighting, code navigation and file system navigation, but for larger projects you need more complex tools.
The asynchrony was the sticking point.
When I swiched to NeoVim vim seamed to be more or less feature complete. Bram Moolenaar has done an amazing job over the decades. But if I want to use functions like linting, vim must be asynchronous to show possible warnings and errors. At this time it wasn't the case.
But when I want to use features like linting vim have to be asynchronous, so that possible warnings and errors can be shown.