There was a great Poli Sci class on communism that I took at UConn in 1992. The professor was a short, skinny guy that was abrasive at times, but he really knew his stuff and it was a great class.
A lot of Gorbachev's power came from the KGB, which is why Gorbachev had the ability to take on the Soviet system at all. Andropov, Head of the KGB in the 70's, put Gorbachev on the Politburo, and brought a lot of reformers into senior leadership positions. Andropov was not doing this out of the goodness of his heart, because he was ruthless and directly responsible for the torture and murder of thousands, but because the KGB knew that the Soviet Union was failing and was not going to survive for long. The Soviet economy was dying by the early 80's and shortages were beginning to lead to unrest.
Promoting Gorbachev and the other reformers, including an alcoholic from the Urals named Boris Yeltsin, was not done out of some moral epiphany by Andropov, but out of survival instinct, recognizing that the USSR was losing the Cold War badly and that communism was not going to make it. Deng Xiaoping had reached a similar conclusion in China, and was able to clear the Maoists out of government by the mid-80's.
Gorbachev was something of an idiot when it came to managing the politics of the Soviet Union. Virtually all the reformers and the CIA warned Gorbachev that a coup attempt was imminent in the summer of 1991. Gorbachev inexplicably went on vacation to the Crimea at the beginning of August, effectively putting himself in a prison where the coup plotters could isolate him. Yeltsin escaped capture and got to the Russian White House to lead resistance to the coup, which, together with the coup plotters' incompetence, enabled Yeltsin to emerge victorious.
It is unfortunate that Yeltsin was such an alcoholic. He could have truly been Russia's George Washington.