Nothing really. They are synonyms, but the dictionaries define them in slightly different ways.
Amoral is lacking a moral sense; unconcerned with the rightness or wrongness of something. In other words, you just don't care about what's right or wrong. This word is somewhat neutral when it comes to connotation. If you hear that someone is "amoral," you just think that they don't accept the normal restrictions of right and wrong, but they're not necessarily hurting anybody.
Immoral is deliberately violating accepted principles of right and wrong (or morals). This word has more of a negative connotation. If you hear that someone is "immoral," they are likely participating in activities that are disturbing to one with morals.
Both prefixes "a" and "im" mean "not, without" so immoral and amoral mean "without morals" literally.