Repository is just a descriptive term the author's chose.
I'm not sure why you'd ask what it means. It's just a word they picked so they wouldn't have to say "the file system locations in which we keep your stuff".
*What makes repository different from database, filesystem or any other kind of storage? *
Nothing. It's storage. It's a filesystem. It's a database. It's just a word they picked so they wouldn't have to say "the file system locations in which we keep your stuff". They shortened it to "repository".
Usually, we reserve "filesystem" for the underlying OS features that give us persistent storage. A repository probably has some more organization than just random files. But it might not.
Usually, we reserve "database" for a discrete product that has a more formal API, a query language, and locking and some reliability features like backups and logs.
How can I exactly tell that this or that is repository judging by some set of features that it has or does not have?
You can't. Something is a repository because the folks that wrote the software decided to call it a "repository". The application developers could call anything a repository -- database, filesystem, individual file. Anything "stateful" can be a repository.
It's just a word they picked so they wouldn't have to say "the file system locations in which we keep your stuff".
it's not really clear what exact differences does it have
Why does that matter? Who actually cares? What problem do you have?
Why does it matter which files are a "repository", which files are a "database" and which files are just files?
You can have files that are a "backup" or a "vault". You can have files that are a "collection" or anything the developers want to call it.
They're free to use any descriptive term they want to replace "the file system locations in which we keep your stuff".