Why do some Emacs functions have double dashes?

As an example of what I mean, org-roam had seemingly the same function names at one point, despite the only difference being some double dashes

Here is an example

At first glance, the naming differences between org-roam-capture--get-point and org-roam--capture-get-point seems completely arbitrary

Supposedly, since there is no such thing as internal vs external functions, it’s a convention for declaring that a function should be considered private or internal only

I still don’t understand the above example since they both have double hyphens