Harmison has said that there are other 80mph bowlers better than him but considers himself the best at 90mph. We hardly see that anymore as he just doesn't seem to be match fit. His bowling in the last Test against SA was a carry on from his Durham bowling but then he had a break and everything went downhill after that.
At one stage Harmison was kept in the team whatever the wicket but lately he has been dropped when the captain and coach think the wickets are flat. I really don't think much of horses for courses selection. You pick your 5 bowlers who all offer something different and maybe one or two bowlers will prosper with a bit of help from the others in a particular Test and then different bowlers in the next one.
How the captain and coach can predict wickets I don't know. They can only tell once the match has started and then there is also the weather. Picking someone just because they are quite good at reverse swing only to find out with rain around and a damp outfield it doesn't come into the picture. They don't know if the wicket is going to break up or have uneven bounce so I don't see horses for courses a good idea. Strauss seems to like the idea. Then you have the uncertainity among the bowlers.
Most pitches you can tell at least to some extent how they're going to play beforehand, and if you're a good reader of a pitch you can often tell with near exactness. From time to time you'll get a surface that confounds everyone (the last Test, for instance) but that's pretty rare.
Purely and simply, your best bowlers can (don't neccessarily always) change according to conditions. If you've got two good fingerspinners it'd be madness not to play both of them on a turner, but equally there's no point whatsoever playing either on a green deck that's clearly going to offer them nothing and other bowlers plenty. And vice-versa for a seamer who doesn't swing it much and doesn't get it to do much off a deck with no grass on but will always exploit anything that's there if there's just a bit in it off the seam.
Obviously, you hope that someone who can bowl reverse-swing well can also bowl conventional-swing well, and vice-versa. If they can't, you should be looking not to swap them around but to help them learn to use the other method. If you can bowl one, you can bowl the other if you practice enough. Swing and the pitch are two completely different things.
Equally obviously, the best bowlers can exploit almost any pitch. A high-class seamer, or a really top-notch wristspinner (the once-in-several-generation types), should be selected regardless of pitch or atmospheric conditions when fit, but such bowlers aren't extraordinarily common and you can't expect more than a couple of them in one team at a time.