Largely because it is self-enforcing: most "Developers" don't like to refer to themselves as merely "Programmers", because programming is only a subset of what they actually do. People who just code have no problem referring to themselves as "Programmers".
You also see this reflected in the way companies communicate: companies for whom the people writing code are at the bottom of the food chain will commonly refer to them as "Programmers".
Basically, the term "Programmer" has over time become the IT-equivalent of "grunt".
In South Africa, the terms "junior developer", "developer" and "senior developer" are used in job ads/specs. I haven't seen the word "programmer" for a while here. Maybe here it's people who work with older technology (mainframes etc) who are called programmers, and people who work with modern technology are called developers.
Overall, I think this is a pointless discussion that gets resurrected by blog writers (or are they "authors") periodically, and doesn't add much to the field.
Largely because it is self-enforcing: most "Developers" don't like to refer to themselves as merely "Programmers", because programming is only a subset of what they actually do. People who just code have no problem referring to themselves as "Programmers".
You also see this reflected in the way companies communicate: companies for whom the people writing code are at the bottom of the food chain will commonly refer to them as "Programmers".
Basically, the term "Programmer" has over time become the IT-equivalent of "grunt".