What does -PAd mean when I use in conjunction with cvs update?
To find out what any command does use the Unix/Linux/OS X manual pages:
Anyhow, straight from those pages under the heading "update options":
-P Prune empty directories. See see node `Removing directories' in the CVS manual. -A Reset any sticky tags, dates, or -k options. See see node `Sticky tags' in the CVS manual, for more information on sticky tags/dates. -d Create any directories that exist in the repository if they're missing from the working directory. Normally, update acts only on directories and files that were already enrolled in your working directory. This is useful for updating directories that were created in the reposi- tory since the initial checkout; but it has an unfortunate side effect. If you deliberately avoided certain directories in the repository when you created your working directory (either through use of a module name or by listing explicitly the files and directories you wanted on the command line), then updating with -d will create those directories, which may not be what you want
Basically it restores the checkouted branch to the latest revision.
-P prunes empty directories -A resets sticky tags -d creates directories that exists on repository but are missing locally.