pak is an R package, and needs other R packages to do its job. These dependencies should be kept separate from the user's "regular" package libraries, to avoid the situation when pak needs a different version of a package than the one in the regular library.
To accomplish this, pak keeps all of its dependencies in a separate library. This library is usually in the user's cache directory.
pak creates and updates its private library, as needed: every time pak cannot load a package from the private library, including the obvious case when the user does not have a private library, pak will create one.