What are the differences between Unix's
fsck and Windows'
The internal structure of filesystems is totally different among each other, so different programs are needed for different filesystems. Even on UNIX/Linux systems there is a dedicated filesystem check program for every filesystem implementation (ext*, xfs, jfs, etc.)
Normally the initial command chkdsk/fsck checks the format of the underlying filesystem and then calls the dedicated check program.