Sorry, I should have clarified what I meant by "documents". Notion has a really rich concept of a "document" with deep functionality that other tools typically don't have.
For example notion pages can include full markdown in addition to subdocuments, databases, templates, relationships, reminders, galleries, kanban boards, formulas, lists, calendars, timelines, images, videos, web embeds, code snippets, files, maps, tweets, figma views, etc.
Where other apps do have some overlap, they typically don't have similar sharing functionality. Notion pages can be private, shared, team-visible, or public on the internet.
To more directly compare to your examples:
* Vim - No rich document features, no mobile access, no markdown rendering, no sharing.
* Joplin - I haven't used this myself but a quick look seems like it has no sharing or team features.
* Obsidian - No sharing features.
* Google docs - No rich document features.
Keep is just a notes app. No argument that alternatives exist there. I like Keep because it works well on android and the web and keeps it simple, but there's definitely other options.
FWIW I agree there is alternatives to Notion, in the strictest sense of "alternative". Quip is really close for example. For some use cases (like the article here) you could call Confluence an alternative. But they're just not as flexible or full featured as notion for such a massive variety of use cases across a team. We use notion as a client CRM, project management tool, internal documentation tool, public user guide, discussion space, note app, research log, etc. and there's not really one tool that covers all of those use cases competitively.