I've used refs for about 10 years now in a productions setting. If you have an application that can takes advantage of fast block clone, then it's amazing. It's also good for larger arrays as corrupt blocks are detected and repaired which ntfs can't do. On ntfs you have to run a full chkdsk to go hunting for corruption and recovery (depending on the problem) is less likely. On refs there's no point to do a full volume check.
For a practical example, let's use Veeam and a long forever forward incremental backup chain comprised on many snapshot files. If you want to create a synthetic full refs just makes a mostly empty file of metadata pointers that reference the data blocks contained in the other incremental data files. That's extremely fast and space efficient. Ntfs has to copy the full data blocks in to a new file.
Likewise if you start to get bitrot in an older incremental in the chain, refs has a better chance to detect and repair that before it's a problem. Ntfs you have no idea until you try a restore and realize you're just plain f'ed.