The basic object of the Path workbench is the Path object. A Path object describes the movement that a machine head must perform in order to cut through a block of material, in the case of CNC machines. Path objects can contain not only movement information, but also other instructions for the machine, such as the rotation speed that the cutter must have, or which tool must be used.
Path objects can be created in many ways, by giving them manually the points through which they must pass, or deriving them from a wire-shaped FreeCAD object, or, more interestingly, by deriving them automatically from an existing 3D object, or parts of it. This is a complex task, and the tools below are there to do this, or part of this, in different ways. It requires some use to know them all, and choose which one is more suited to the particular task you need. Sometimes, you might also prefer to build your paths step-by-step, using partial tools, instead of using the more complex tools.
Path objects can also be combined into Compounds or Arrays, allowing you to use different tools to do different parts of the whole cutting operation, and join them into one final path.
Project objects, finally, allow you to manage different cutting operations that have to be performed by a same machine, and add machine-specific information such as a table of cutting tools available on the machine, with their characteristics. Some Path tools will then be able to refer to that table to obtain information like the diameter of a certain cutting tool.
FreeCAD is also able to import G-Code files, for which a pre-processing script can also be used.