DiskScan is a Unix/Linux tool to scan a block device and check if there are unreadable sectors. In addition it uses read latency times as an assessment for a near failure as sectors that are problematic to read usually entail many retries (and bog the system down). This can be used to assess the state of the disk and maybe decide on a replacement in advance of its imminent failure. The disk self test may or may not pick up on such clues depending on the disk vendor decision making logic.
badblocks looks for fatal issues already happening and diskscan is for upcoming issues that can be fixed.
Also, badblocks is essentially obsolete in this day and age since the disks themselves will reallocate the data and there is no real need to map the bad blocks in the filesystem level anymore.
In the AUR. Works quite well, and sussed out a dying drive on Leandra.