They mean the same thing generally. "I have no idea." is a bit more situational than "I don't know."
"I don't know." is a very general term that means just what it says.
"I have no idea." is a bit of a stronger way of saying it, meaning the person, possibly meaning the person saying it has little knowledge of the topic or the context involved in the question.