-builtin packages are deleted using remove_builtin
-a file from a loaded sfs (pupxxx.sfs, zdrv or other) is deleted
-a pet is uninstalled
Their purpose is to mask files which can't actually be deleted so they disappear from directories, menus etc. For example, if files 1 and 2 are present in pupxxx.sfs and file2 is "removed", the result in the layered file system is:
what you see     | file1 | |
pup_rw | .wh.file2 | |
pup_ro# | file1     | file2 |
.wh.file2 and file2 disappear after remastering.
The files from an uninstalled pet and the associated .wh files disappear when the system is rebooted.
More:
Layered file system
Help screen of remove_builtin