One reason for this to happen is that there is an active swapfile on the btrfs subvolume being snapshotted. That is not supported by btrfs.
In that case /var/log/snapper.log shows the error:
create snapshot failed, ioctl(BTRFS_IOC_SNAP_CREATE_V2) failed, errno:26 (Text file busy)
dmesg shows the warning:
cannot snapshot subvolume with active swapfile
A solution is to create a separate subvolume for the swapfile.