The spectrum generator only uses spectral information from a patch set to determine XYZ for a selected illuminant and only if the XYZ isn't provided for the illuminant. In the case of two selected illuminants, it uses the spectral information to derive a second set of XYZ values. Then it finds either the three principal component's based on the associated XYZs from their database of colors (Munsell, etc) or the 6 principal ones if a second illuminant is provided..
The documentation leaves something to be desired. I ran some tests and the PCA values are selected based on the actual spectrum, if provided. If two illuminants are selected the spectrum is used to determine the reflectance XYZs at both illuminants and the PCA values are much closer to the actual spectrum in most cases.
The spectral match is better when the second illuminant is selected since that requires spectral content otherwise the second illuminant XYZ is just an estimate.
Thus, one can derive PCA values two ways, from the XYZ or from the actual spectrum using two illuminants. If from the XYZ of only one illuminant, one can presume the spectrums are closer to those in their database in an XYZ sense. If from the spectrum of, say a printer and using two illuminants, closer to the printer's. I suppose one could compare the two PCA sets to estimate how close a specific printer was to the database of color objects under different illuminants.
The purpose is to expand the colors from a patch set to produce a "spectrum" that more closely approximates that of their reference database of colors. Presumably this will usually be closer to the spectrum of colors in nature as opposed to the limited set of spectra from a CMYK printer when using just XYZ values and a single illuminant.