Beyond Compare was the best tool I've found for comparing program source and other files.
It also has a directory compare.
Try WinMerge for a free open source tool.
But you might prefer the free ExamDiff or its shareware version ExamDiff Pro
Or Araxis Merge $$
Or MergeRight $$
Note that the product seems to be no longer under development