Monsters are considered "immune" when their resistance to an element becomes 100 or greater. The lowest that a monster's resistance to any element can be lowered is to a combined total of -100. (For PvP, this also is true against enemy players/minions).
Take note that a unique/boss mobs that spawns with "[Element Name] Enchanted" will have an extra 75 [Element Name] resistance (to that one element), and a "Magic Resistant" Unique/boss mob will gain 40 elemental resistance (fire, cold, and lightning).
There are 4 ways to break immunities.
Only Amplify Damage and Decrepify (both Necromancer Curses) can remove physical resistances, if the monsters resistances will allow it (see below).
Sanctuary (Paladin aura) ignores the positive physical resistance or immunity of Undead mobs in a certain radius around the Paladin.
Vengeance/Berserk can help by adding/converting magic/physical damage to physical/magic damage, respectively.
Only Conviction (Paladin Aura/Infinity Runeword) and Lower Resist (Necromancer Curse) can break elemental immunities, although Conviction does not affect poison resistances.
Any element immune monster with elemental resistances >=144 cannot have their immunity (to that element) broken.
Any physical immune monster with physical resistances >=120 cannot have their immunity be broken.
When breaking an immunity the amount the resists are reduced to suffer a penalty of 20% (or 1/5) effectiveness, so -100 physical resistances from Amplify Damage (-50 for Decrepify) becomes -20 (-10 in the case of Decrepify) when breaking immunities, so anything with >=120 resistance cannot be broken.
Conviction and Lower Resist (at level 30, they offer -150 and -70 resistance, respectively) stack to a maximum of -44 resistance against immune mobs.
Items effects that reduce resistances cannot break immunities, this includes Rainbow Facets, Griffon's Eye, and similar items. These items will only work to their full effect after the immunity/ies is/are broken, by the aforementioned skills.
For regular mobs, lightning immunity is the easiest to break, as it's usually 100 to 110 resistance. These immunities can usually be pierced by the Conviction Aura from the Infinity Runeword.
Fire immunity is a bit harder, as the mobs usually have 110 to 130 resistance. The Conviction Aura from Infinity Runeword usually cannot break these immunities, but a Paladin/Necromancer with higher Conviction/Lower Resist can break these.
Cold immunity is hardest to break, as mobs usually have 150+. It usually unbreakable with the reduced effectiveness penalty of resistance lowering skills.
For additional info on monster resistance and immunity mechanics, go here and here.