What does Ghost and UnGhost mean?
Ghosted means the file is shared across sites and each site has a pointer to a file on the file system. Unghosted implies that the file has been edited and is now stored with the particular site.
What’s the difference between Ghostable and GhostableInLibrary?
The decision between Ghostable and GhostableInLibrary really is based on the type of file that you are deploying and whether you want users to view and access the document view a list or a library. If you desire users to view the file within a library then you would select the InLibrary option. Both Ghostable / GhostableInLibrary implies that the file will be cached in memory. GhostableInLibrary however specifies that the file be cached as part of a list whose base type is Document Library and that you can work with the file as you would with any other file in the library (check-in, check-out, version history).