It all depends on what they debate is about or the dialogue. Debates often show arguments between opposing sides and people who view those debates can see the interaction between those two sides. A dialogue is just the interaction between two or more members who discuss a topic or subject. I believe that a dialogue is more effective in solving societal problems because when arguing, people can think better and are not in a rage to defend their side or not.
Yes, debate offers a better approach for solving societal problems, because waiting for a consensus is often unproductive. Sometimes, it is more important to make a decision and take action than wait to hear input from everyone and form a group consensus. Debating to reach the correct answer, instead of waiting for a popular answer, can be more productive in solving societal problems.