It lets you wrap up any extra data you want into the output of torch.save and have it be decoded for you by torch.load. Maybe you want to ship some documentation or versioning metadata with your saved model to help with deployment, extra_files lets you do that without having to ship files separately alongside your .pt file.
The .pt file from torch.jit.save is a zip file, so any extra_files just get added to the zip archive.
To dig into the docs example a little more, for this code:
class M(nn.Module):
    def forward(self):
        pass

m = torch.jit.script(M())
extra_files = torch._C.ExtraFilesMap()
extra_files['foo.txt'] = 'bar'
torch.jit.save(m, 'scriptmodule.pt', _extra_files=extra_files)

Then in a shell
$ unzip scriptmodule.pt
Archive:  scriptmodule.pt
 extracting: scriptmodule/version    
 extracting: scriptmodule/extra/foo.txt  
 extracting: scriptmodule/data.pkl   
 extracting: scriptmodule/code/__torch__.py  
 extracting: scriptmodule/code/__torch__.py.debug_pkl  
 extracting: scriptmodule/constants.pkl  
$ cat scriptmodule/extra/foo.txt
bar