Absolutely nothing: there is no difference. “Ball python” and “royal python” are just two different names for the same thing. The scientific name for a ball python or royal python is python regius, which is where the term royal python comes from. Interestingly enough, scientists developed the name python regius because this particular python is supposedly the species of snake that Cleopatra is depicted holding around her wrists in many statues and paintings. Thus, they named it the royal python because of its association to Cleopatra’s royalty. These snakes began to be called ball pythons because of their tendency to curl up into a ball when they’re scared, frightened, nervous, or sleeping, so the term “ball python” is a more descriptive name for the same species of snake.