Here is the original description from @david-a-wheeler
Many software packages do not have a publicly-accessible
version control system (VCS) nor a public download page.
If package-URL is to be able to identify arbitrary packages it
must be able to handle these cases. In addition, just having the VCS
information is sometimes not enough to learn more about the software.
This proposal adds homepage_url to generic. This makes it
possible to refer to these (many) programs, along with their version numbers.
The homepage URL is also really helpful to users, who may want to
know more about the program and the other information may not be enough
to help.
The CII Best Practices badge has had great success using
homepage URL and VCS URL as a unique project identifier, even for projects
which aren't under the control of a language-level packaging system.
This is follow up from the stale, unmerged PR at:
Here is the original description from @david-a-wheeler