Saving: `torchscript` or `state_dict`?

About saving for inference, the docs assert:

Using the TorchScript format, you will be able to load the exported model and run inference without defining the model class

And also “Recommend”:

Save/Load state_dict (Recommended)

I’m aware that Torchscript does not need model definition, and hence must store it within the pth file.

However, I’m not sure which one to use. Are there any other criteria that is important to be aware of?