Cloaking is a way of designating projects that you generally do not work on, and which you therefore do not necessarily want to keep local copies of. If a project is cloaked, Get, Check In, Check Out, Undo Check Out, and Project Difference commands do not apply to the project when attempted indirectly (as part of a recursive operation). Direct commands (with the cloaked project selected in VSS Explorer) still work normally.
As an example: suppose that you work on a project called $/OurApp. In this project there are subprojects called Code and Tests that you need and another subproject called Docs, which you never use. You might find yourself recursively getting $/OurApp, and then deleting the Docs subfolder from your hard disk, in order to obtain the configuration you need.
The solution is to cloak $/OurApp/Docs. Even though the project is cloaked, you can still get this project or its files at any time. However, when you recursively Get $/OurApp, the Docs project (and its subprojects) will be ignored. In other words, cloaking a project says, "Ignore this project when I act on higher-level projects recursively."
When you cloak a project, its subprojects are implicitly cloaked when you use a recursive operation on the cloaked project or on a higher project in the project list. In other words, a cloak says, "When something recursive happens above me, stop here."
For information on how to cloak projects, refer to: