Well, these words are synonyms, but stupid is more suitable to describe a person or an animal and ridiculous is more often used to describe situations, however, you can tell that a person is ridiculous as well so... there is no real difference between these to, there might be a slight difference of usage in the earlier times but that's just it.