I use two tools, the Compare plugin for Notepad++ works very well, but more recently I have started using a program called winmerge.
You feed it two directories and it compares the files in each side by side and tells you a host of things like when each file was last updated, which files match, which files exist only on one side or the other. Then you can select a file and in the case of xml's I select "compare as xml" this displays the two files side by side intelligently and displays the differences between the two, the key thing is it does so very intelligently not just a simple line by line but compares them by content. It displays where content has changed and even where lines have been removed or added on each side.
And here is the awesome part, you can right click on a differing element on one side and tell it to "copy to other side" and it automatically duplicates that line or set of lines on the other document. This allows me to very quickly check my files against the game files, see which have been changed by the devs and then easily parse through them copying just the updates to my files so my mods remain intact with the newest patch changes merged in.
Would highly recommend this to any modder.
P.S. using the "compare as xml" preserves the files formatting when saved rather than collapsing empty lines which it is otherwise inclined to do.