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:
Materials such as diamond makes a strong armor that withstands quite a bit of punishment, while leather armor barely survives 20 hits.
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.
Armor in minecraft adds "defense" to you. The more defense you have (indicated by the chest-plate icon bar near you health) the less damage you take. That bar gets filled up when you are wearing armor, however, eventually the armor wears out. The better material you make the armor out of the more it will fill up the bar (and the less damage you will take). Also armor out of better materials will last longer.
P.S. Armor only prevents melee-type damage, not drowning, burning, or falling (although the feather falling enchantment to boots helps prevent fall damage). Also taking damage that armor does not prevent does not do damage to your armor.
Each armour point in the bar reduces 8% of some damage types. (4% for half) So, a full leather armour will cut off 28% damage, while a full diamond armour will cut off 80% damage. Note that certain damages, like fall damage, won't be absorbed by an unenchanted armour. With enchantments, you can further improve your armour's effects. Durability has a starting value for each consumable item. For armour, this value is deducted by 1 per hit. For the Thorns enchantment, the armour piece drops 3 more durability points when succesful, and 1 when not. Unbreaking helps preserve your durability points.
Here is the equation for unenchanted armour:
damage = damage * ( 1 - min( 20, max( defensePoints / 5, defensePoints - damage / ( toughness / 4 + 2 ) ) ) / 25 )
Source: Minecraft Wiki