ext* filesystem is an odd-one-out in that it supports being fscked while mounted. Other filesystems such as F2FS and FAT must be unmounted to fsck properly, or do not require fsck during normal operation, such as XFS, btrfs, ZFS, etc. Even the ext* fsck while ro-mounted is sketchy though; it doesn't really make sense to fsck using a filesystem that you think may be corrupt. Even when it does work, it sometimes requires reboot, which shouldn't be required if the filesystem is unmounted. This is all a legacy from before initrd/initramfs. In modern era, we should fsck from initramfs when possible, like Debian and I think most other distros.