Many people think they mean the same thing, but they're actually for different situations.
Idiot:
Somebody who doesn't acknowledge they're unintelligent.
"There's cities in Arizona?"
Moron:
Somebody who's extremely unintelligent, and they know this. They just don't feel like changing. Usually because they're lazy
"lol guys wtf r u doing"
Stupid:
Somebody who is ignorant, unintelligent AND an ass. They're those kind of people that think before they speak.
"Everybody who's posting in this thread is gay!"
Ignorant:
Somebody who's not at fault for their ignorance. Not usually unintelligent, just not well educated on the situation.
"What are you guys talking about?"
Dumb:
Somebody who is unintelligent and too dumb to acknowledge it.
"wwwwwwwwwwwwwwwwwwwww ur all forgeters!!"