I wonder why a single city's (or country's) name is different in various languages. To me, city and country names are somewhat similar to a person's given name, and it doesn't seem right to call anyone with a translated version of their name. But why is it ok with cities and countries?
Each language has its own set of sounds and a writing system to accompany them. When words or names from a different language are introduced, they often have to be altered in order to fit into the existing set of sounds of the language. This happens even with personal names. The tennis star from Serbia is named Novak Đoković in his native Serbian, but in English and French his name is always represented as Djokovic. We've added an entire letter to his name. Why? Because that makes it easier for us to understand how to pronounce his name. If we spelled it as Dokovic, most of us would pronounce it completely wrong. This is the most common reason for the altering of names of places.
Sometimes there are places whose name is simply made up of words, as in "Netherlands" or "United States". In English, the meaning of "United States" is obvious, because it uses two English words. But to a speaker of a foreign language, it isn't. To keep the meaning, the individual words "United" and "States" are translated. So in French the country is called "États-Unis," in Italian "Stati Uniti" and so forth.
And then sometimes place-names just arose rather arbitrarily, because some name had to be given for them. The English name "Welsh" just comes from an old word meaning "foreigner," because to the Anglo-Saxons, that's all they needed to call those people. Germany is called that in English because of the Latin term "Germania," which refers to one particular tribe, while in French it's called "Allemagne," which refers to a different tribe (the Allemani) and in German itself it's called Deutschland, which roughly means "people's land". Obviously, calling it "people's land" in every language would be a bit confusing.
This is a wide-ranging question that perhaps permits many answers, e.g. of both linguistic and political kinds.
Sometimes renaming a town was a way of exerting a (outside) ruler's power: e.g. what was once Königsberg is now Kaliningrad, what was once Vindobona is now Wien (Vienna). Notice that it's not always straightforward to determine what the "right" name should be even from today's perspective.
The phenomenon also occurs within single languages: e.g. what was once Leningrad (and I should use the proper Russian name here, but don't read/speak the language) is now (again) St. Petersburg, and what is now Wolgograd was once Zarizyn then Stalingrad.
It would seem that there are also more innocent versions of the same phenomenon: for instance the English name Prague for Praha is perhaps to approximate faithfully the pronunciation of the city's German name Prag (and notice that Praha had a German-speaking majority well into the 19th century).
Personally, I try to avoid corrupting "correctly" formed city names when pronouncing them in English, our modern lingua franca: e.g. the normal English pronunciation of Montreal (in a way, even more so Montpelier) must be quite "horrid" to a native French speaker (and notice, these are quite clearly French names: mont = mountain); I try to do better (or "better") when situations permit. (Presumably this also affects native Spanish speakers vis-à-vis the English pronunciation of Los Angeles.)
BTW, how do you call Mt. Everest (aka Chomolungma aka 珠穆朗玛峰 ...) or Pope Francis (aka Franciscus aka Jorge Mario Bergoglio ...). The business of "canonical" names IMO seems quite hopeless (note to self: Wittgenstein I vs. II :), but of course one should be cognizant and respectful of places' (let alone the people's inhabiting them) histories and facets.
One reason (and there are many other reasons, as pointed out by the other answers here) is that the same name can be pronounced differently in different languages, so what look like different names (e.g. Roma/Rome, Wien/Vienna) are really just different ways of pronouncing the same name.
To illustrate with a different set of examples, consider Korea, Japan, and Viet Nam, where Chinese characters were (or still are) used. Most place names, when written in Chinese characters, are the same across these four countries. However, when spoken, they could sound entirely different.
Example: In both Viet Nam and China, the country of Viet Nam is called the same thing in written Chinese characters (越南), whether in Viet Nam or China.
However, when spoken, the country of 越南 is pronounced as Viet Nam (in Viet Nam) and as Yue Nan (in Mandarin-speaking China).
Hence, now that Viet Nam has entirely abandoned the Chinese writing system, it may seem to outsiders that people in China bizarrely call Viet Nam by an entirely different name (viz. Yue Nan). But this is not at all the case. People in both China and Viet Nam are still referring to Viet Nam by the exact same name.