Armor is, naturally, not perfect. Fortunately, it doesn’t actually have a negative effect on anything you do in minecraft, other than drawing resources and, if you like your player skin, covering that up and making you considerably less pretty (the helmet looks especially much like a wrestler’s headgear, which makes it fairly derpy).
Anything actually directly attacking you will be weakened by armor- whether it’s with an arrow, a fist, a weapon, or a fireball. In fact, armor also protects against catching fire generally, including swimming in lava. This makes it a must when exploring and mining, since it gives you an actual chance to avoid burning to death. Armor will also protect you against cacti, which shouldn’t be too much of an issue most of the time since you can see and can reach further than the cacti do, but every once in a while you actually do need that protection.
Finally, armor protects you against explosions, which is very important as it will make it easier to frustrate creepers, and will keep you safer if for some unfathomable reason you decide you want to use dynamite right next to yourself (I can’t think of any either, but there must be one somewhere).
There are a number of things that will not notice your armor- and while they happily will not hurt your armor any, they will merrily go right on killing you like your fancy diamond-studded plating wasn’t there at all.
Armor does nothing about falling, drowning, or suffocating- nor does it in any way stop you from starving (which is a strange thought- what would you do, eat your armor? No.). Armor also doesn’t do a damn thing about your situation when you are -on- fire, rather than just touching it. At least it raises your chances of getting out of the lava -before- you die and drop everything in the pool to be incinerated. Poison ignores armor entirely, as do the moderator /kill command and drinking a Potion of Harming. Which only makes sense, really, since who coats their intestines with iron?
Finally, should you manage to fall out the bottom of the map into the Void, your armor will do nothing about the damage you take for existing there. Fortunately, you don’t have to worry about this unless you’re doing something plainly ridiculous anyways, so there you go.