In summary, both firefox and firefox-bin are executables. Both open your browser the same. firefox starts firefox-bin.
The reason there are two executables and not one, is because there was a problem updating Firefox across a wide variety of operating systems, where linking wasn't working the same on all of them. The decision was made to simply have firefox start firefox-bin rather than have a logical or soft, filesystem link between the two historical names, where both needed to be kept working to avoid breaking installations in the field.
You can partially verify this if you look at your process tree, which might look something like this.
No matter if you run firefox or firefox-bin, the process tree ends up looking identical:
---
Process Name; User
- systemd; root
- ...
- systemd; mike
- ...
- gnome-terminal-server; mike
- ...
- bash; mike
- firefox-bin; mike
- RDD Process; mike
- Web Conent; mike
- ...
- WebExtensions; mike
(Note: I'm on Debian 10.3 Buster, and 'mike' is a fictitious user name to hide my real user name.)