I'm not a dictionary but as I understand it:
A debate is a discussion between people about a topic. Opposing opinions coming together for an exchange.
A controversy is rather a divide between people. It may lead to a debate but in this case we are accentuating that people are divided. (Such as a naked artist parading in the town center. (a lot of people will be against, some will be in favour)