It allows you to outright replace files.
But you could do that ALREADY. I'd replaced AssignStartingPlots, TopPanel, TechButtonInclude, and so on with my own heavily-modified versions.
If you mean replace database XML files altogether (instead of having to delete each line individually) then I can see the appeal there, but that would seem to conflict with the whole UpdateDatabase system they already have. But regardless, that doesn't apply to the cases we were talking about (new .DDS files, new .lua files), all of which replaced the old files entirely under the old system already, but which now won't do so until you set this flag.
Again, the question isn't "what can you do with it set to True", because we already know that; it was set to True before, so we've already got that as our baseline. The question is "what can you do with it set to False that you couldn't do when it defaulted to True". As in, why would you EVER want to leave it set to False (or more specifically, why you would ever want to leave it to the user to decide whether it's True or False instead of hard-coding it to True for asset files and such). If you can give some explicit examples then it'll make it far easier for us to figure out things like why AssignStartingPlots is crashing.
It also avoids issues where multiple mods use the same filenames...
How? I'm not trying to be confrontational here, I mean exactly how? Are you saying that if two mods change AssignStartingPlots.lua, it WON'T still freak out? I can understand if, by sheer coincidence, two mods happened to use the same names for two totally unrelated NEW files (although that's really the modders' fault), but when you're editing old stuff, there's no possible way the code is intelligent enough to merge both sets of modifications seamlessly, and for something like AssignStartingPlots (which runs once and then is done) it couldn't treat them as separate routines and execute them separately.
Try winmerge? Should pick out all differences in about 5 seconds.
It's very useful to have a tool like that, but the only problem here is that we don't usually keep around a copy of the old versions of the official files. If I'm changing 50 lines in a file and the patch changed 5, it'd be easier to diff the pre-patch and post-patch versions and move those 5 lines into my own mod. But currently, you can only diff your mod and the post-patch version, which means any difference lines will be either your work OR the patch's, so you just have to hope you remember which of the 55 lines were the ones you changed.
I didn't think about this until after the patch, but I've now made a backup directory of all the Lua and XML files, so that I can do this sort of thing the next time.