2
This is simple. Cache files are created by the login that your http server uses. In the case of most *nix systems, this is nobobdy. This is why you must alter the permissions on the cache files and directories for XOOPS to write out properly.
Of course, as the "owner" of the directory, you still have the ability to do anything you want with the file.
Xoops caches some "menu" files based on which modules you have activated. It does this by dynamically writing to these files. This is usually done to increase performance for commonly used files, and to reduce database server overhead.
It is a valid question. The more you understand the way that XOOPS thinks, the easier it will be to troubleshoot when needed.
Cheers,
Regen_r8