Imagine the following happens:
You are working on project B when you remember that you have some code in project A that you could reuse. You open the corresponding file, but you see it doesn't fit 100%. No problem, you make some changes, copy the code, and paste it into project B. Half a year later, you work on project A again, but you notice it doesn't work any more because someone overwrote your sources. Good job you don't have a backup, either, and you can't remember what modifications you made 6 months ago.
Or, imagine this:
You have a system header open because you wanted too look up some function's declaration, or whatever. You forget about it, and while you're working, you do a multi-file search+replace.
As it happens, this replaces something in your system header too, but you don't even know (because you hit the "All" button on the first hit).
You try to build your project, and it fails, and you have no darn idea why. Sure enough, you can download the system headers again, copy a pristine header to your include dir, and everything works again. However, with any luck, you waste 6 hours of searching for a stupid error that won't go away, and you just don't see why.
There are countless examples like this that could be enumerated. Modifying files that don't belong to a project is just evil.