You should not usually call record-definition, since all the system-provided definers call it.
However, for new classes of definition which you add with define-dspec-class, you should call record-definition for dspecs in their new classes, as shown in Complete example of a top-level dspec class.