Let me try to make it a little bit more detailed.
====================
Bitwarden:
- Is essentially a service (with FLOSS client software and FLOSS server code).
- Quite polished browser integration (to the extent browsers allow it).
- Third party server holding the encrypted data. Proprietary (in a "completely unique, not compatible with anything else" sense) sync protocol.
- Symmetric encryption key is encrypted with master key but it is NOT changed (with re-encrypting all the entries) when master password is changed. I'm not sure if there is an option to re-encrypt the data in case the symmetric key is compromised, although this should be doable via APIs.
- Data is encrypted and signed, but some of the data structure (folder layout, TOTP existence, revision dates) is (theoretically) accessible to the service owners. Check out snippets at https://github.com/jcs/bitwarden-ruby/blob/master/API.md for info.
- Has some nice extras built-in, like domain equivalence logic.
- Self-hosted option is available (official Docker images using .NET Core and Microsoft SQL Server and unofficial third-party implementation in Ruby). I'm not sure how this works with licensing.
====================
Keepass:
- Is primarily a standalone application. Or, better say, applications, as there are multiple independent implementations for many platforms.
- Has browser integration, but all options (KeepassXC-Browser and PassIFox) are feel somewhat less polished.
- Has composite credentials (in addition or instead of master password it can use i.e. keyfiles). Supported mechanisms vary with implementation.
- If the encryption keys are compromised you can trivially re-encrypt the database to avoid further leaks.
- File format is essentially a large encrypted and signed XML file (data block) with some extensible header that defines the crypto details. https://keepass.info/help/kb/kdbx_4.html
- You handle the sync however you want it. For KeepassXC you need make database available in a filesystem. For Keepass and Android app there are also SFTP, WebDAV, Dropbox, Google Drive and some other options available. The only sync that's in the app is a logic for merging databases.
====================
Please correct me if I got something wrong. Thanks.