If you are going to merge a huge number of files, you want to minimize the differences reported to the barest minimum. Line-oriented diff tools report changes if the code is reformatted, or there's any change in a line.
The SD C# Smart Differencer reports differences based on source code syntax, not the physical layout of the text. It reports changes based on language elements (identifiers, expressions, statements, blocks, methods, ...) in terms of effect (insert, delete, copy, move, rename) from the point of view of the programmer. (The rename detection means it will ignore names changed consistently across a block/file).
Reporting this way tends to produce considerably smaller diffs than line-oriented diffs, thus using less of your attention.