It delivers the same OK-ish experience no matter what file type or language I’m dealing with. Yeah it’ll never be as good as a dedicated Python IDE for writing Python, but I’d rather know vim than 5 different IDEs for Python, YAML, Dockerfiles, Rust, Latex, whatever I need to deal with today.
It just edits files and doesn’t hide internal state, intermediate files, etc to make my life ‘simpler’ (notepad is the same, so I guess this is more of a strength vs IDEs). When an IDE fails to align all of its internal moving parts just right to compile a project I know I’m in for an hour of figuring out which checkbox needs to be unticked in what sub-sub-sub-sub-submenu, I like it much better to have a “flat” experience of invoking a command line and getting an error message directly from the tool I am invoking.
To me vim’s main strengths are
20dd
to delete 20 lines, that’s very neat.