To find out what any command does use the Unix/Linux/OS X manual pages:
man cvs
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
To find out what any command does use the Unix/Linux/OS X manual pages:
man cvs
Anyhow, straight from those pages under the heading "update options":
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.
See: http://ximbiot.com/cvs/wiki/CVS--Concurrent%20Versions%20System%20v1.12.12.1%3A%20Guide%20to%20CVS%20commands#SEC172