Semiclean fixes broken crons by clearing the cron semaphore from the database when a previous cron execution fails.
If you run cron manually from the Update status page and get the message, "Cron run failed.", you may be a future Semiclean user.
If your cron.php has been running from your local crontab or poormanscron, but the Cron maintenance tasks item in your update status page has an old date, you may be a future Semiclean user.
If you're reading through your Recent log entries (aka watchdog logs) and see the message "Attempting to re-run cron while it is already running." too many times in a row, you may be a future Semiclean user.
Just load it up as any other module and visit your Administer > Reports > Status report page. If the Cron semaphore line is green, cron's semaphore probably isn't your problem.
However, you load Semiclean, visit your Update status page, and you see an old timestamp listed in the Cron semaphore line, you need to clean with Semiclean!
Clean now! with Semiclean.