I want mutable snapshots, transparent compression, and deduplication. I used to use ZFS because it support those features, but ZFS gobbles RAM and is not usable for external USB HDDs - it would just die in an unrecoverable way every ~3 months. And ZFS snapshots are not writable - there is no way to delete a file from all snapshots and actually free up the space, because the underlying snapshot is immutable.
Switched to btrfs around 7 years ago, and it's great. Writable snapshots, transparent tuneable compression, on-demand deduplication. And with compress-force, the performance quirks with large files such as databases are mostly mitigated, because changes only need to COW the 128 KiB block it is modifying.
There are certainly still features missing from btrfs. Recovering RAID1 is abysmal - you get 1 and only 1 chance to replace a failed device, and if you do it wrong you need to recreate the array. And parts of btrfs is not aware of its own COW - e.g. defrag will unshare blocks.
But even so, I use btrfs on workstations, production servers, development servers, backup servers, etc, and it's been excellent. Just remember what the workload is and set the compress-force algorithm accordingly - though these days zstd is a really good default for everything.