I think I've seen the reasoning for this from other languages (Java I believe). THe reason I recall is that you can handle optional parameters with method overloading and this also alleviates some ambiguity problems as well.

eg.

public void MyMethod(int num) {
   MyMethod(num, "default text");
}

public void MyMethod(int num, string text = “default text”)
{
     ...
}