In today's warfare, moral cause not gives you victory.
Russians had moral cause against the Germans, but it did not got them anywhere even after doing plenty human wave attacks. But once they started to get weapons, good tactics and human numbers combined with moral cause, they kicked out the Germans and captured Berlin.
So with moral cause, you need weapons, resources and good quality and quantity wise soldiers to win.
A moral cause is essential for victory, but doesnt mean sides with moral cause always win. Lets take a couple of examples:
Sides with moral cause losing
1) Russo-Finnish War (1939): The Finns believed in fighting for what was rightfully theirs. They fought exceptionally well, inflicting heavy casualities on the enemy but in the end, had to concede to overwhelming Soviet numbers.
2) Indian Rebellion (1857): Under oppression from the British, Indian sepoys carried out a mass rebellion. They had the moral cause of fighting tyranny, but in the end were crushed by a combination of poor leadership and superior British equipment and tactics.
On the other hand,
Sides without moral cause losing
1) Vietnam War (1959-1975): US didn't have a just cause for participating in this war. US civillians, and many soldiers, didnt believe they should be involved. This led to severe pressure on US forces to exit Vietnam, and despite having vastly superior technology and better tactics, USA lost the war.
2) Soviet war in Afghanistan (1979-1989): pretty much the same as above. A lot of soviet soldiers underwent severe mental stress. Also, the mujahideen, despite severe casualities, fought for what they believed in. Soviet soldiers lacked motivation and felt they were fighting for a wrong cause.
Conclusion
A moral cause doesnt guarantee victory, but is a very important factor nonetheless. Soldiers need to believe in what they are fighting for, otherwise they will lack motivation and morale. Remember, morale is to equipment as three is to one.
This is evident if u look at Iraq war.