폭력적이다 means "violent" used for anything related with violence
난폭하다 means "rude; rough; cruel" used for a person or someone's action
격렬하다 means "intense; acute; fierce" used for argument or action like debate, battle, sports
For example,
폭력적인 사람(O)
난폭한 사람(O)
격렬한 사람(X)
폭력적인 논쟁(X)
난폭한 논쟁(X)
격렬한 논쟁(O)