I see "reiterate" used frequently to mean "repeat what I said." Often this is for emphasis. For example, a teacher might give 15 instructions, and maybe the first instruction was very important. So at the end of listing all 15 instructions, she may reiterate the first one. She might even say:
"Let me reiterate this: I expect you all to do your own work. NO CHEATING!!"
Iterate is less commonly used, but I see it used in math, science, engineering, and computer science quite a bit. It usually describes a repeated process. For example, imagine a computer is trying to compute a very precise problem, like maybe 1,000,000 digits of the number pi. Maybe it goes through some steps over and over again and it gets a little closer every time. It is common to see this described as an "iterative process," and each repeat might be called an "iteration."
Or maybe a car company builds a model of a car one year. Then the next year, they build the same model but a little bit better. The next year after that, they build the same car even better. And so on. This might also be described as "iterating."
So I think the difference between the two words: "reiterate" almost always refers to repeating speech or writing, usually for added emphasis. "Iterate" almost always refers to repeating something and getting better each time. (You could even say this last paragraph was an example of "reiterating," actually!)