You might have been working on some code for ages, but you're so tired that you're adding more bugs than you're fixing.
In the morning you look through your code and realise that it probably makes more sense to go back to a previous revision and work up from there.
But how do you know what code has been changed between revisions? And can you remember what improvements you did make in the new code?
WinMerge is a visual text differencing and merging tool that enables you to load two text files and compare the differences. You can show each text file side-by-side and go through each document to examine the changes between the files.
In addition to simply comparing the two files for changes, you can merge sections of data between each document.
For instance, if there's a chunk of working code within your new document you can take that and merge it back in to an older revision, so that chunk of code/text is not wasted.