It’s entirely dependent on the handset manufacturers releasing it, basically. So there’ll be the new flagship phones released with it first, then it’ll probably be back-ported to other handsets. Google have said that if a phone can run Gingerbread, it “should” be capable of running ICS.
One of the downsides of Android of Android is that there’s no automatic “here’s the new OS for all phones”; it’s often customised by manufacturers so, for instance, HTC will probably do a ICS + Sense variant, Motorola will do ICS + Motoblur and so on.
That said, one of the upsides is that even if there isn’t an official release for a given handset there will almost certainly be a rake of unofficial custom ROMs shortly afterwards (or, often, shortly before).