Quelle est la différence entre « immoral » et « amoral » ? On peut facilement se poser cette question alors qu'on s'exclame véhémentement à propos du comportement d'un personnage quelconque : « Qu'est-ce que c'est… [insérez un des deux mots proposés] ! » Pour en finir avec toutes ces incertitudes, faisons un peu de linguistique !

À première vue, pas de grande différence entre le préfixe « im » et le préfixe « a ». Les deux ont un caractère négatif, on dit par exemple « aphone » pour désigner quelqu'un qui n'a plus de voix, et « impossible » pour quelque chose qui n'est justement pas possible. Mais on peut déceler une petite nuance. Eh oui, le préfixe « a » désigne plutôt une absence et le préfixe « im » plutôt un contraire ! C'est très subtil, mais on le remarque aisément en prenant de nombreux exemples.
Par conséquent, « amoral » signifie littéralement « sans morale », et « immoral », « contraire à la morale ».

En effet, une personne amorale est une personne qui ignore les règles de la morale, ou qui agit indifféremment à celles-ci. On peut aussi désigner par là une éducation.
Une personne immorale sera plutôt une personne qui agit contrairement aux règles de la morale, qui s'y oppose. On peut aussi désigner par là une œuvre, par exemple.

Si vous ne saisissez pas bien la différence, usons de synonymes. « Amoral » peut être remplacé par « libertaire », « sans foi ni loi », par exemple. « Immoral » quant à lui peut être remplacé par « dépravé » ou « débauché ».

D'un point de vue général, « immoral » peut être employé dans quasiment toutes les situations et, étant plus commun, il suscitera moins d'interrogations de la part de votre auditoire. Si vous n'êtes pas sûrs de vous, prenez-le par défaut.