Sublimation of Iodine
Iodine sublimes for the same reasons that all solids do: because it has some equilibrium vapor pressure an normal conditions. Now, the value of that pressure varies greatly in different solids. For many of them, it is so extremely low that for all practical reasons it can be considered non-existent. (Say, if you'd leave a sample of NaCl for a thousand years, I don't think you will be able to detect the weight loss due to sublimation.) For iodine, the vapor pressure is significant, so a sample left in the open will vanish completely in a matter of hours.

Some sources may specify that iodine goes directly from solid to gas when heated, never becoming a liquid. That's an urban legend; iodine does have the melting point and the boiling point at standard pressure, and between the two it will be liquid. It is not easy to demonstrate, though; if you heat it in the open, it will probably sublime away even before reaching the melting point, and if you do it in a closed container, the vapors get so thick you can't see a thing.

That being said, there are indeed some compounds that would never turn liquid at ambient pressure. That's because their triple point is above that ambient pressure. Carbon dioxide is one example; water on Mars is another.

As for chlorine and bromine, I don't really see the point of your question. At normal conditions they are not solid, so they can't undergo sublimation simply by the definition of it. If you cool them down enough to be solid, they will.