In my opinion the most important cause was the moral degradation of public life, especially in the élites.
The Roman Empire was not destroyed from outside, but rather from inside. The germans and huns were certainly no better than the Teutons, the Cimbrians or the Carthaginians.
On the other hand I also reject the adoption of Christianism as the cause. When Christianism arrived, paganism was already a corpse ready to be buryed, people no longer believed in it. A religion is not important because of the temples or festivities that promotes. It is important because of the moral principles that proposes and the faith it generates.
The republican aristocracy was one of the best, if not the best, ruling class of the history, but shortly after the Punic Wars it started to deteriorate. And the Romans themselves were the first to realise it: Caesar promoted the admission of country people and Gauls to the high spheres of influence, because it was evident that Rome didn't have much to offer already. But after one generation, the decadence prevailed again. Vespasian was another case of a ruler that realised that. Look at what Juvenal has to say (free translation): "Today the only good deal is a sterile woman. Everyone will be your friend, with hopes regarding the testament. She, who gives you a son, how do you know the child won't be black?"
The cause of this condition is expressed in that famous verse by Horatio: "Graecia capta ferum victorem cepit" (The conquered Greece conquered its ferocius victor". It was a good thing for the world that the greek culture was preserved by the romans and transmited to our days, but for Rome it meant the begining of its destruction, because of the habits and behaviours it brought to.
What followed: the invasions, the reluctance of people to serve in the army or to contribute to the Treasury was just the consequence. The final blow was the transfer of the capital to Constantinople.