WinMerge is highly useful for determining what has changed between file versions, and then merging changes between versions.
- Visual comparison and merging of text files
- Flexible editor with syntax highlighting
- Supports Unicode
Download it here.