As far as I know, it is a neutral word in some Slavic languages, and it was legal in Russian before the Russian Revolution. However, now, it's completely illegal and, thus, Russians utter it only to offend others, especially Jews.
As a rule you just can not ask question like "why some words has changed their meaning". Well, you can but quite often we just can not say why. Just like phonetic changes, semantical shifts happen all the time.
In some cases though we do have answer. Why in English the N-word become a racial slur - well, for two reasons. First, it had some racial slur connotation from the very beginning. Second, the black community itself persistently and unambiguously insists that they should not be addressed with this word.
Historically, exactly for the same reasons we consider "жид" an ethnic slur nowadays. Indeed, nouns "жид", "жидовинъ", adjective "жидовский" were initially just a regular ethnonym. However, the very first evidence we have that this word was in a negative sense backs down to XIIth century. I don't want do dive in into the history of European antisemitism - it's a very complicated topic, however in short - in quickly christianised Europe Jews were the only noticeable minority that stood out. That said, initially the negative connotation was of being "heretic", "misbeliever".
Throughout the centuries this negatively charged meaning associated with certain ethnicity prevailed and already at the end of XVIII century we have an evidence that Jewish community was not OK with this. They've directly asked Catherine the Great, the Empress of Russia, not to use word "жид" in official documents. Catherine the Great declared that the words "еврей" / "евреи" should be used instead. From that moment we can say that this word, being out of official usage continue to move by the trajectory towards complete marginalisation.
To the end of XIXth century its usage was an indicator of one's political views. Conservative nationalists (not to say extreme right-wingers) used "жид", the rest used "еврей".
This wiki article covers this topic well. As of other Slavic languages - see, they have their own history but in one thing you are actually wrong - it's an issue of ongoing discussion some Slavic communities as well whether it's fine to use this words. Because let's be honest, they were marred with this negative connotations as well.
"Жид" now is about the same as "Хач" or "Чурка" (I'm not saying "the same meaning" but the same purpose - to express abusive attitude to a group of people who are associated with religious, national or just external signs).
I'm sure though in the very beginning "Жид" was acceptable word. You can read enough about it here (btw the answer to your question lies there too) (the language source is Russian).
But now it's more about negative emotional color that russians give to this words. Now you barely will hear someone saying "Жид", "Хач" or "Чурка" with "good" intentions. We fill these words with disdain and sometimes even hate.
Why? It's all because of stereotypes. Some jews did or doing something we declare wrong (e.g. love money and own culture more than other people and nations' or religions' interests).
Surely it's a very stupid. 1) Many people behave same way and it's not about religion. 2) One's human's mistake is not occasion to hang a label to a great amount of people.
But it's an easy way for ignorant people to make their "fast decisions". And it can happen that even educated person can say "Жид" if any jew offended him or caused a trouble.
Total. Russians began to use this word to express their anger and lately it became "forbidden". It's all because language is a live substance and only we, people, deciding the meaning of every word.
Not in "some" Slavic languages but practically in all of them. As I know Bulgarian is the only exception: they use the word "чифут" (Jew from Turkic) as offensive and the word "евреин" (Hebrew) as neutral, but as I understand the word "жид" (Jew) is not tabooed. In opposite to Bulgarian "чифут", Turkic "Çufut" (which is the same word) is neutral: https://en.wikipedia.org/wiki/Chufut-Kale
The word "Жид" is also used in Church Slavonic which is based on Old Bulgarian: Въ си же времена родисѧ Моисѣй въ жидехъ, и рѣша волъсви егѵпетьстии цесарю, ѧко «родилъсѧ есть дѣтищь въ жидохъ, иже хощеть погубити Егѵпетъ». Ту абье повелѣ цесарь ражающаѧсѧ дѣти жидовьскыѧ вмѣтати въ рѣку.
Also the mentioned list is noticing Belarusian "жыд" as "now abusive" but now Russian language completely dominates in Belarusia. Even official Belarusian orthography was created only to "correct" Belarusian to make it a sort of a local Russian dialect.
In Ukraine the word "жид" is officially stated as not tabooed, but because of Russian influence it might be considered and used as offensive, which is more typical for more russified "Main Ukraine" and less typical for less russified Western Ukraine. Lemkos, a Ukrainian ethnic group that lives mostly abroad, use the word "жыд" as the only name for Jews. Noteworthy that people who think that the word "Жид" must be complete taboo in Ukrainian as in Russian, don't like Ukrainian word "Гебрей"(Hebrew) either. They think that the only appropriate word in "єврей" as in Russian, and in the same time they don't opposite to such words as "гебраізм"(Hebraism) or "гебраистика"(Hebraistics) because they are Russian terms as well.
Common idea of the first decade after Russian revolution was "nationalisation", because soviets wanted to disorganise anticolonial forces. (It is even Freedom Square in the capital of Republic of Tatarstan, which is quite untypical for soviet and Russian toponymics) Due to linguistics it meant that common trend was to name nations according to their self-names. E.g. a lot of nations was called "Tatars", but if they had other self-name (as Azeris, for example) they were renamed. Also Ukrainians were called "Little Russians" (while Russians were called "Great Russians") and then were renamed to Ukrainians which was quite nationalistic that time because traditional Ukrainian self-name is Ruthenians. BTW Russian self-name "русские" is quite strange for Russian language because it is an adjective while other nations are nouns, and that extra "c" (русские) is grammatically incorrect also. It could be compared to "донецкие"(of Donetsk) which means Donetsk mafia vs "донетчане" or "дончане"(Donetskians) which means Donetsk dwellers.
Gypsies wasn't renamed. As I know they were considered as refugees without citizenship.
Name "мордва" is offencive name for Mokshans and Erzyans but it remained as republic's name: https://en.wikipedia.org/wiki/Mordovia
Despite "евреи" wasn't self-name of that time mostly Yiddish-speaking Jews, they were renamed. Maybe soviets wanted to show that they are not that extreme right-wingers. But after that "decade of nationalisation" it became highly not recommended to be a Jew in soviet union... Especially after establishing of Israel despite soviet union helped it for some time, against British Empire as I understand. BTW till recent Yiddish was an official language in Russian Federation https://en.wikipedia.org/wiki/Jewish_Autonomous_Oblast but Hebrew was criminalised in soviet time! So Russians called Jews "Hebrews" but could imprison you for learning Hebrew...
So the the word "Jew" is like the word "Gypsy": historically it might have negative connotations but it is neutral word by itself, e.g. Slavic "жид" is in fact just other pronunciation of Yiddish "yid"!
IMHO In Russian language it should be "евреи" (Hebrews) as in Greek but it should not mean that "жид" (Jew) in other languages is anisemitic.
I think a contributing factor is that the word for liquid in Russian is жидкость, which otherwise morphologically would form a perfect adjective from жид. So, жид sounds like someone of "liquid" consistence. Maybe, with "liquid", cowardly, not strong character, liquid principles and values, someone who can pour through holes, maybe sticky, etc. The word жижа even means very viscous, muddy, unpleasant, repelling liquid.
A development of this meaning is the adjective жидкий meaning "of low consistence, diluted", when speaking about, say, soup, facial hair or forest.
So, the word прожидь (literally, the bald spot) is figuratively referred to a person who has some Jewish ancestry. "Он с прожидью" literally means "he has a bald spot" but in usage currently almost universally understood as "he has some Jewish ancestry".
Another contributing factor is the word живность (with the root жи-), literally "the liveness" which is negative word regarding a mass of animals, which are difficult to tell apart, often, insects or worms.