With reparenTo, you already have a nodepath that is somewhere in the scene graph. You simply change its parent.
With attachNewNode, you usually donโt have a NodePath yet, but a normal PandaNode. (Or LODNode, or anyotherNode, etc.). You place it using this command into the scene graph and the function returns the new NodePath.