Simply put, because iodine is less reactive than the other halogens (excluding astatine).
Generally speaking, an atom can only displace another atom from a compound if it's more reactive than that respective atom.
In order to complete their octet and gain considerable stability, they need one extra electron in their outermost shell. This implies that their reactivity will be judged by their ability to attract that needed electron.
This is where atomic size becomes a very important factor. Atomic size increases as you go down a group of the periodic table, which means that iodine will have the larger atomic radius of the group (if you exclude astatine).
As atomic radius increases, the ability of an atom to attract electrons decreases. This happens because
- the outermost shell is further away from the nucleus
- the outermost electrons are being more successfully screened from the nucleus by the core electrons
Both these factors contribute to the decreasing attraction between the nucleus and the outermost electrons as you go down a group of the periodic table.
So, iodine is not as reactive as the other halogens because it doesn't have the same ability to attract electrons. This is why iodine is such a weak oxidizing agent.