There are quite a few differences between difficulty modes. I'll try to mention all the major ones here. Information was found from an article on the Minecraft Wiki.
Peaceful
This is the easiest mode. Monsters do not spawn, the health bar does not deplete, and health is regained very quickly. No mobs deal any damage at all.
Easy
In easy mode, mobs do spawn but don't deal as much damage as normal or hard. Cave spiders can't poison you, withers do not give the wither effect, and zombies don't turn villagers into zombie villagers. Your health bar does run out, but you will not receive damage from starvation if you have less than 10 health points (5 hearts).
Normal
Mobs do more damage than in easy mode. Villagers turn into zombie villagers 50% of the time (otherwise they just die). Cave spiders can poison you and withers can inflict the wither effect. You can be brought down to one health point (half a heart) from starvation.
Hard
Mobs deal the most damage. Zombies can break through wooden doors. Villagers always turn into zombie villagers when killed by a zombie. You can die from starvation. Spiders can spawn with status effects.
Hardcore
This is actually an entire gamemode just like Survival and Creative, not a difficulty level. In Hardcore, commands are disabled, the difficulty is locked to Hard, and you have only one life. Once you die you can either change the gamemode to spectator or delete the world.