One of the selling points of BTRFS is that the filesystem stores parity information, so it can detect data errors. This was being touted as giving the ability to correct data errors by LimeTech, but the parity can only be used to detect data errors on a single disk, not correct them. I Pointed that out to Jon in the fall when he was posting how the correcting ability of BTRFS was such an advantage on a BTFRS filesystem. You need an array to have the ability to correct data errors. Linus is running a BTRFS array so even if his array has a small corruption issue running scrub should be able to fix it.
There is also parity on the metadata and it can be used to correct a metadata issue on a single drive.
I found BTRFS simply didn't work for me. The main place I saw issues was with my MariaDB (or MySQL) database which would become corrupted within a few days. This is why I say try it and beat on the drive with a bunch of reading and writing and then run scrub or check the log and see if it's having issues. If it works, then you're good.
Since I had issues, I've been running the database on XFS for almost a year without any random corruption, so I don't believe I had a hardware issue causing random corruption because it wouldn't just go away with a different filesystem. When I do the next upgrade, I will likely buy a couple of SSD's and try them in a BTRFS array. There are advantages to the filesystem if it will work.