How much does armor diminish damage taken? Also, how is it's durability calculated? Is it worth making a set of diamond armor or is leather just as good (seeing as leather isn't used for anything else)?
The way armor works in MineCraft has changed quite a bit since this question was last answered. This is an overview of how armor works in version 1.6.
A player has a total of 20 Defence Points (represented by the little "chestplate" icons above the health bar, where one point is half a chestplate). Each defence point reduces the amount of damage you take by 4%, but only for certain damage types. So, all 20 defence points filled up will reduce the amount of damage you take by 80%.
The type of armor (Diamond, Iron, Gold, or Leather) determines how many defence points are filled up, as well as the durability of the armor (how many hits it takes before the armor breaks).
You can also enchant armor, allowing it to absorb more damage, or even last longer before breaking.
More details (and if it changes in the future, a more up to date answer) can usually be found on the wiki:
Prior to version 1.6 armour blocked damage and blocked the same amount of damage regardless of what it's made of. What did change is how long the armour will hold up:
The Crafting page has a section on armour durability. Basically each time a piece of armour protects against minimal damage it counts as 1 use, and you can get more uses out of the harder materials. The page has a table which gives the number of uses you can get out of each material.