How Do du and duc Work, and Which One Should I Choose?

GNU Core Utilities's du is one of the most widely used Linux utility to estimate how much disk space a particular set of files are using on a filesystem. I chanced across duc (du-cached) and wanted to give it a try to evaluate its effectiveness against a large filesystem. But I kept wondering how du and duc worked, and which one was really faster when calculating disk utilization.