Similarly to this API compatibility there's KeePassDX [2] for mobile phones which is compatible with the KeePass database format. There's also KeePass [3] which is the original built with .NET.
I personally use Bitwarden though because maintaining sync of databases on mobile phones is painful. Also keeping backups up to date is hard and time consuming, I do export my encrypted database once in a while though.
[0]: https://www.passwordstore.org/
On my Android phone I use Keepass2Android and it's built-in SFTP support to open the remote database (and also keep a local offline-copy). When saving it seems to synchronize with the remote file first before uploading the file, so even if I change entries on both devices the copy on my server shouldn't lose any entries. But I haven't really tried to break it yet.
A touch on Yubikey will give you one password out (as opposed to unlocking the whole database). As secure as it gets!
Also very convenient to use, since the password is a short pin.
You can use CLI in scripts and handle tokens.
Good code written by a good guy!
Use whatever you want for sharing your database across devices, like Syncthing or Nextcloud (or even USB thumb drives), as long as you have a strong password for it (or other means of unlocking it) and it should alleviate many of the availability related complaints about file based secret management.
It even allows storing files (like SSH keys) and on some platforms has the possibility of typing your credentials for you so they don't end up in the clipboard, even though when you use the clipboard functionality they get cleared out of it after a little bit.
Strongbox for iPhone/iPad: https://strongboxsafe.com/
There are plenty Android Keepass apps too, i don't have any experience with these though.
>And how do people choose
FWIW, KeePassXC is the best (most widely adopted) one for Desktop.