Attribution works differently for each of the four menu surfaces, which is why a single lookup method never covers everything.
For classic commands, the entry lives as a shell verb under a file class. The registration itself usually holds the display label and a command line, so the executable is directly readable. The complication is that the same logical entry can be registered per-user, machine-wide, or under a file-type association rather than the obvious class — so the same label can appear from more than one place, and the one that governs what you see is not necessarily the one you found first. ContextCleaner records which location each instance came from, and when it changes an entry it writes to the location that is actually in effect rather than to a parallel one that would have no effect.
For COM app add-ons, the registration is an identifier, not a name. Resolving it to something human-readable means looking up the class registration, reading the backing library path, and reading a publisher value where the app recorded one. Some handlers do not register a friendly name at all, in which case the most reliable label comes from asking the handler itself what it would draw. ContextCleaner does this out-of-process so a misbehaving handler cannot take the app down with it, and falls back to the registry-derived name when a handler does not answer.
For modern menu items from packaged apps, there is no classic registry verb to find. The declaration lives in the package manifest, and the link between the manifest, the identifier, and the package that owns it has to be assembled from the installed-package catalogue. That is why these entries are invisible to registry-only tools and why they are so often the ones that survive every cleanup attempt.
For the New submenu, entries attach to a file extension or a program identifier, so the natural attribution is the file type itself plus whatever program owns that type.
The practical payoff of doing all four is that the list is complete and the attribution is consistent. You can search one field — app name, path, identifier, label — and find every entry connected to a program regardless of how it chose to register. That is the difference between removing an entry and removing a program's presence in your menu.