What is the difference between the subject words?
Compare the examples:
1. Idiot (noun) vs. stupid (noun)
Idiot = a person affected with extreme mental retardation (offensive).
Total stupid = antonym of genius.
2. Stupid (adjective)
Note: Idiot can't be used as an adjective. Idiotic is the adjective. For idiotic (adjective) vs. stupid (adjective), refer to Claudiu's answer.
The current meanings aside for a second, I heard that 'Idiot' along with 'Moron' and 'Imbecile' were used as tachnical classifications of mental retardation by Henry Goddard's and that all these terms seeped into general usage as different ways of saying stupid.
Wikipedia for instance says "The term 'idiot' was used to refer to people having an IQ below 30"
Idiot is a noun. Stupid is an adjective. So let's compare the same parts of speech... Note: this is all just my opinion, so we'll see based on the number of upvotes whether other people use the words the same way.
idiot vs. stupid person
idiotic vs. stupid
These are more similar in meaning. They just describe things or situations where, for example, unfavorable things happen for avoidable reasons, or when something doesn't work out, example: "Having that meeting was a stupid idea."
In this case, I think idiotic just means stupid, but to a higher degree. If having the meeting was a stupid idea, then it was just a waste of time and nothing got done. If having the meeting was an idiotic idea, then perhaps the result was starting a war or someone getting killed.
Other adjectives meaning stupid/idiotic: retarded, moronic, dumb.