The built-in Win 7 defrag task only runs when the PC is idle.
It stops if the PC becomes not idle, and restarts later when the PC becomes idle again.
I use it, no problems here.
If someone turns on a PC, uses it, then turns the PC off, i wonder if defrag ever gets time to run completely.
There are other maintenance tasks that also need idle time.
I boot up a PC, use it as i want, and let it idle to sleep.
That gives Windows time to run any maintenance tasks needing idle time.
I see a lot more maintenance tasks run after applying Patch Tuesday updates, i let it idle for 1 hour.
I have Process Explorer open sorted by Start Time, so i can easily see what tasks start, run, stop, ... that's how i learned this
I don't know of any 3rd party utility to duplicate/replace Windows Chkdsk.
I use it when i restore a backup image, or if i see a problem that might be HD/SSD related.
If I see such an issue, i also use the HD/SSD Manufacturers diagnostics utility to more thoroughly test the device.
We don't know if the OP is using SSD's/HD's, and how many - no SF system specs with this info.