✔ 最佳答案
First of all, it's WW II but not WW11
of course, they both signed the pact because they could both benefit from it
For USSR, the reason for USSR signing the Nazi-Soviet Non-aggresion Pact is because Germany claimed that if Germany won the war, Germany would divide some land to USSR (e.g some parts of Poland[as i remember, it's east poland]) , USSR could therefore earn land, extra labour force and a new supply of raw materials for it's industrial development.
For Germany, it's all about military means - because USSR occupied a large territory. She afraid that her further invasions may humilated USSR and caused a 2-front war (including the Allies), in order to drive such a possibility away, Germany signed the treaty with USSR because of her concern of a 2 front war.
sorry for all those grammatical mistakes, but i tried to explain that in the simpliest way so i have to do the explaination by myself.
2007-07-05 21:24:48 補充:
for the point of USSR can earn extra labour and raw material, they are matters from Economics but this could make a reason for USSR signing such treaty
參考: the history book, myself and my history techer