I know that BeamNGPy is the Python API that allows us to communicate with BeamNG.research, which should be a fork of BeamNG.drive, which is the original simulator and game. Why is there BeamNG.research if BeamNG.drive already provides the simulation capabilities? When should I use one over the other or which features does one provide that the other doesn't?
BeamNG is the company. BeamNG.drive is the game (the original reason for forming the company) BeamNG.research is a separate side project they do, not a type of software or specific product. as far as I know, .research was created with the intention of improving the game, they collected data and studied stuff, and are using this data in a more "official" application.
BeamNG.research is a side project we use to provide both BeamNG.drive's and additional functionality in a way that makes more sense in a research or educational context. If you want to know more, please use proper channels listed at the bottom on the BeamNG.research page as this forum is for the game.