dbcc checkdb runs for interminably long time, 50% of the time I've got a nightly maintenance job (largely taken from the ola hallengren maintenance package) that runs database backups and runs an an integrity check on every database.  

The integrity check part is running online, against production dbs, and usually completes in about ~2.5 hours - but sometimes it runs for much, much longer (12+ hours in some instances).  

There aren't any other scheduled jobs or other activity that is running on the days where it hangs vs. the days where it doesn't, and the db it's usually hanging on is only about 170gb.

I took a look at my wait stats:

And my write stalls: 

But I'm not a DBA by training and am not sure what to actually do about this information, or if it's even where I should be looking for this particular issue.
Was there an error from CHECKDB for those occasions when it took so long? Anything useful in the errorlog file for those occasions?

If CHECKDB find an error, it might do a "deep dive" to further investigate (traverse the linked list for the index instead of just checking a bitmap, mentioned here: https://www.sqlskills.com/blogs/paul/checkdb-from-every-angle-complete-description-of-all-checkdb-stages/).