It is a tool that might help you to find places in your program where you reference files in a bad case. It rarely causes problems on MS Windows, but needs to be fixed if you port your program to case-sensitive OS.
Filenames are hardcoded not only in source code (C, or Java, or whatever language you use for your project). Usually there are resource files, XMLs, configuration files all around, and format of those files can be unusual sometimes. That's why CaseRePort does not make assumptions about file type. See "Using" to learn how that's done.
It runs very fast. And the speed does not depend on the number of the filenames that are searched for. Of course, it must read files from disk. But as every byte is processed only once, it might take no longer than copying the same files into null device. On my machine it uses 60% of CPU, and it utilizes double-CPU or hyperthreading (thanks to Java NIO).