The footprint editor of KiCad is quite limited. For most footprints its feature set is good enough. (Array function + user grid)
Even for simple footprints the user needs to do quite a bit of math to find out where to place a pad and what size does it need to be. Especially if the datasheet does not dimension the pads via center coordinates plus pad size.
Most datasheets do not dimension pads such that you can directly read the values you need to enter into kicad. The reason behind that is the manufacturers need to also communicate tolerances.
The support for more complex footprint is a bit lacking. Especially support for complex pad shapes. Such footprints are a lot easier created in a tool like the freecad sketcher. You can in such instances simply recreate the dimensioned drawing given in the datasheet. (Example the x2son-4 footprint in the official lib and its freecad source file)
Some manufacturers supply a dxf (or step) file containing the suggested outline of the footprints pads. To reduce human error it might be good to have a way to convert this dxf directly into a footprint. As this topics discussion revealed it is not easily possible to import a dxf drawing into kicad and convert it into pads. (dxf import seems to mainly aim for getting the body outline into the footprint editor.)
With kicad stepup you can import the dxf into freecad and create a valid footprint that way.
parametric vs direct cad is not a clear this is better than that question. Both have their benefits and are used for different use cases.
I am just used to the parametric way of doing things. I like to see the dimensions entered in the sketch tool. (And the fact that i can change the dimensions later on is a bonus)
Now lets see what others think: