When responding to a question about the availability of the uuidgen tool on Windows Eli Zaretskii provided links to the Windows SDK uuidgen tool and the Microsoft Exchange Server GUID Generator tool. The problem is that we cannot depend on either of these tools.
To begin with, according to the Man page of the GNU/Linux uuidgen tool, the generated UUID is written "to the standard output." The Windows SDK uuidgen tool does not write to standard output; it instead creates a template IDL file. The Microsoft Exchange Server GUID Generator is a GUI application that allows GUIDs to be generated in any of several formats and copied to the clipboard. Neither of these programs write output to stdout or support the -r and -t command line arguments supported by the GNU/Linux uuidgen tool, therefore they cannot be used as direct replacements of the GNU/Linux uuidgen tool.
Even if they were functionally identical to the GNU/Linux uuidgen tool we should not depend on them because both the Windows SDK uuidgen tool and the Microsoft Exchange Server GUID Generator are developer tools that will not be installed by default.
Thus the proposal to simply use the following line of code cannot be expected to work on Windows unless the binary distribution of Emacs for Windows provides its own implementation of uuidgen. (shell-command-to-string "uuidgen")
I have no opinion on whether or not Emacs should provide a uuid function but I feel strongly that we should not be advising our users to depend on an external tool that is generally not available on Microsoft Windows.