En un primer análisis y quedándonos con la primera acepción de la RAE:
Tonto: 1. adj. Falto o escaso de entendimiento o razón. U. t. c. s.
Idiota: 1. adj. Que padece de idiocia. U. t. c. s. (3. adj. coloq. Tonto, corto de entendimiento.)
Imbécil: 1. adj. Alelado, escaso de razón. U. t. c. s.
Un análisis somero dice que tonto es el término más difundido y con más usos y variaciones por lo popular, que idiota es la que primero alude a una enfermedad o discapacidad mental y que todas aluden a la falta de entendimiento o razón.
Los tres términos podrían pasar y pasan con una gran dósis de sinonímia cuando en realidad, hay una gran diferencia. Póngamos un ejemplo: Un día paseando te cruzas con tu amigo Sebastián. Ese día paseas con una chica morena, cuando tu novia de toda la vida es rubia. Además del color de pelo hay diferencias anatómicas muy notables. Te detienes a hablar con Sebastián.
- Si Sebastián fuese tonto, delante de tu acompañante preguntaría ¿pero tu novia no era rubia?. El tonto no se dá cuenta de lo que sucede, en cierto modo es inocente de su torpeza.
- Si Sebastián fuese imbécil, se daría cuenta de que efectivamente tu acompañante no es tu novia. Se daría cuenta, sonreiría y continuaría hablando felicitándose por lo buen amigo que es no delatándote. Al despedirte, diría sin pensar, saluda a tu novia la rubia de mi parte. Un ímbecil es consciente de la situación, pero no es capaz de actuar de acuerdo con ella.
- Finalmente, si Sebastián fuese idiota, no se daría cuenta de que vas acompañado. Posiblemente ni sepa con quien está hablando o no lo recordará en un encuentro posterior.
De los tres mi preferido es el imbécil por esa incontinencia tantálica, por ese deseo de ser mejor de lo que es, porque atisba el protocolo correcto de actuación y sin embargo es incapaz de ceñirse a él. Es tan peligroso o más como el tonto, con el riesgo de ser confundido con un hijo de puta con todas las letras, pero si no estas directamente afectado es con todo el más divertido.

