The reason is as below, I had thinked of post this in the forum, but I am not sure I explained it so well because I am not native English speaker.
Some people always complain that their inventor files are constantly becoming dirty. Well the reason of this symptom may be complicated, sometime it's because you have multiple projects in vault, sometimes it's because you are using library folders, and sometimes it's just a thing that's the nature of Inventor.
However I have a think that maybe the real reason of this is because the habit of some users.
consider this very simple scenario, you create an assembly with a single part in it, you save it and check them into vault, and that you create another assembly and place the former saved assembly into it, check in again, everything happy.
Now this is where things get intersting. I believe some users have the habit of clicking the Rebuild All command all the time. In this case, for the top assembly, you may have worked on it for days and click the Rebuild All command for many times. Each time you use this command, some things happen with the sub assembly, so if you click save, you will see all the sub assemblies in your top assembly show up in the save dialog box, what you will do now? To save or not to save, that's a problem!
I think most people here will think I don't need save them because I never changed them, and this make perfect sense. Well the truth is, even you never changed these sub assemblies by hand, these files in memory has been changed, aka dirty. The worse thing is, even you will not save these sub-assemblies to the disk, when you save the top assembly, the changed sub-assembly information are stored in the top assembly. So after the save operation, there is actually some kind of inconsistency between the top assembly and these sub assemblies. The proof of this is, if you close the top assembly and open it again, you will see that Inventor prompt that the assembly need updating, which means: the files on the disk are not the same as what I remembered!
The real problem now is the user will not realize that there is something bad happening. He will happily check in his top assembly and think that all well done, and the top assembly he checked in will go through the review process and finally get released! Now just think what will happen when another user decide to use the new released assembly! He will find the assembly, even released, get dirty!
This situation can go on and on, and more and more files get dirty!