I also disagree with you. Why do you think nothing can be done about changing requirements? I also don't see how a client/boss changing requirements makes me a bad programmer. This is in same line of thinking as saying someone is bad at sports because sometimes it rains when they go to the park to play.
AS for platform specific implementations details there are people who have built entire careers around being experts in platform specifics.
Being able to take vague and changing requirements in your stride and still deliver something that the end user actually wants (as opposed to what the end user asked for/thinks they wants), is the hallmark of a great programmer. The more I work as a programmer the more I realize that simply typing code is just a small part of my job (and the easiest part).
This is in same line of thinking as saying someone is bad at sports because sometimes it rains when they go to the park to play.
It's more like a player complaining that the reasons they suck is that all their teammates can never pass the ball right. Everybody can catch/score off of a prefect pass, what makes someone great is managing to adapt to and deal with a bad pass.