When they have Back-annotation functional In V6 this will close the additional step of updating in to "cvpcb" the footprint assignment step that is currently in place, to keep the netlist and PCB telling the same story.,
You do
not have to use CvPCB at all. And that's been true for at least the three years I've been using Kicad.
Here is the story. Back when the project first got started, it was a schematic editor and a PCB layout editor, and they were separate programs with separate libraries. (This is also why the user interface between schematic and PCB is inconsistent, and that's being addressed by the developers.) The way the workflow went was you'd place symbols on your schematic, wire it all up, and change values as necessary. So you'd change a generic NPN transistor to the 2N2222A and you'd change a generic op-amp to NE5532, and you'd change a generic resistor to 1k, and so on.
Before you could do the layout, you needed to map each symbol to a desired footprint. This is where CvPCB came in. It would show you a list of the symbols in the design, and let you choose from your PCB libraries a footprint for each. When that was all done, you had to back-annotate the footprint choices to the schematic. This would populate each symbol's "footprint" field with your selections. Then, in the schematic editor you generated a netlist for the layout, which you would then import in the layout program, which pulled in the footprints and all of the connectivity was there.
The key there was the backannotation. Once you selected a footprint for a part in the design, you didn't have to do that again. If you added parts, you needed to run CvPCB again to map footprints to those new parts. (Of course copying an existing backannotated symbol worked as you'd expect.)
The problem with that process is that it's stupid. Professionals would never go through that process of placing generic symbols on a schematic and then editing symbol values to something real (for a BOM) and then use another process to match symbols to footprints. The chance of error is near 1.
A bunch of users realized that you could create symbols in a schematic library that had the footprint field populated. And when the idea of footprint library tables was introduced (with Kicad 4), that field could also indicate the library in which that footprint could be found. (This eliminated the ambiguity about which SOIC-8 footprint the user really wanted.) So these users started created libraries of so-called "atomic parts," in which the symbols have proper names (OP275GSZ and not OPAMP), specific footprint callouts, and a name/part number to be used by the BOM generator.
In other words, you create the part symbol once, with your chosen footprint included, and you use it everywhere. CvPCB is not necessary.
Now this idea of "atomic parts" libraries is standard for Kicad 5. Kicad 5 does have some legacy libraries available, but pretty much all of the libraries have been reworked so a specific part symbol has a footprint and a 3D model.