Well the question here is, what criterion is more important for being finished:
A.) having a complete and stable set of core features
B.) no more new features being added
To me personally, A.) is way more important and way more indicative of "finishedness" than B.) is. Surely both criteria do play into this - but imho there's more weight on A.) than there is on B.).
Let's look at your example: VIM. According to criterion A.) it is finished - because it has a complete and stable set of core features, which haven't changed much in many versions (and many years).
According to criterion B) VIM is absolutely not finished, because it still is under active development and new features are still being added.
Let's look a different example - I suggest looking at a piece of imaginary vaporware. Maybe a few design documents exist - but not a single line of code has ever been written. The project has been canned before it even started. No new feature is going to get added to this software ever.
According to criterion B) this software does count as finished - because no new features are being added.
According to criterion A) this software is not finished at all, because it doesn't have a single core feature, let alone a complete set of core features.
Now those two examples are sitting at the very extremes... things do get more interesting if we compare two examples that are a bit closer to the middle:
Which one is more finished?
1.) A piece of software that just hit version 1.0 - it has all it's core features completed, is fully usable, but is still under very heavy development, and might release 2.0 sooner rather than later.
2.) A piece of software sits at version 0.8 and all development has ceased. It's mostly complete, but still missing a few core features - but it's no longer getting any updates at all.
I personally tend to see 1.) as the more finished piece of software of those two. And that means that to me, having a complete set of core features is more important than no longer having new features added. I simply can't see 2.) as finished, since it's incomplete even at it's core.
I believe the Vaporware example shows, that you totally have to weigh in "complete set of core features" as well. Imho at more weight than "no new features" has.
And when weighing things that way, a piece of software with a stable set of core features can be pretty finished, even if new features are still being added. Simply because that complete-set-of-core-features part is so much more important than the no-new-features part.