I think that it is usually either from the country using a different alphabet like most asian countries, or just from people being too lazy to learn how to pronounce it correctly.
I completely disagree about the laziness. Right now I am living in Florence, which in Italian is Firenze. When it was originally founded by the Romans, it was called Florentia, which sounds a lot closer to "Florence" than "Firenze." As the Roman Empire broke up and Latin turned into French and Italian, the name of the city changed based on what language you were speaking. It became Florence in French and Firenze in Italian (we inherited the name "Florence" from French, as we did with many other places such as Vienna). It's just like the Latin word changing from libertas to liberté in French and libertà in Italian. The place name "Florence" is just like any other word.
And on top of all of that, Italian wasn't always the preferred language in Florence. Sure, the people spoke it, but the nobility all spoke French for the longest time. So in official documents it was referred to as Florence, while the commoner would call it "Firenze" in everyday speech. It only really became the "official" name of the place when Italy was unified and Italian declared the official language. (And don't even get me started on the different dialects in Italy and the debate over which is "Italian." Depending on which "Italian" you were speaking, Florence was called something a little different.)
So Florence has been around for thousands of years and the name "Florence" has been used in the world for hundreds. Do we just throw that out? Do we arbitrarily choose a date to make the switch? Do you know how much trouble that would cause? Not to mention the awful pronunciations of "Firenze" we would all hear. I'd much rather hear a New Yorker with a strong accent to call it "Florence" than to hear him butcher "Firenze."
And you'll notice that this translating of names only really exists for the major cities of the world. My girlfriend lives in Norway in a city called Trondheim, and there are not translations for it. When you talk about it in English, you just pronounce it as best you can.
And as for personal names, if they're translatable, translate them. My name's Peter and I don't care what I'm called so long as it's some form of Peter. It all means the same thing, and why burden others with insisting that your name be pronounced exactly as you pronounce it. Someone made a comment about Asians choosing a western name, and I can't disagree more with it. Some names, westerners just can't pronounce. They just can't. They can't even make an approximation. It's too difficult. We all don't have the time to study every language and be ready to pronounce ever name at your whim. It's much easier to just take a different name that you like so that we can at least call you something instead of completely butchering your real name so that it's unrecognizable or being forced to make something up on our own. And imagine the trouble you'd have to go through with casual acquaintances. Good friends can take the trouble to learn your real name, but you can't expect that from everyone you meet.
Heck, one of my friends here is named "Jena," which is an easy enough name. All of the sounds exist in Italian, but the Italians cannot get it. They simply cannot pronounce it. Occasionally you'll find someone who can, but people honestly try hard and just can't do it. And this is with two western languages that share a lot of the same sounds.
So no, it's not laziness at all. It's the development of languages, the history of places' names, the relatively recent invention of "official" local names (of which there are sometimes two since there might be two large populations in the city who speak different languages; which do you choose then?), the impracticality of insisting on any "official" name, and the complete inability of some sounds to translate over into other languages.