Why is 'new' kewword used in function signatures

Generally new is used in the following scenario:
class BaseClass {
  public int Add(int a, int b)
   {
   return a+b;
   }
}

class DerivedClass:BaseClass {
  public int new Add(int a, int b)
   {
   return a+b;
   }
}



Client Code:
  public static void main()
   {
   DerivedClass obj = new DerivedClass();
   int i = obj.Add(5,4);
   }


Now, when the object of DerivedClass is used to access Add function, which of the functions is called ?
It would be the one of DerivedClass. This is same even if "new" is used or not.
Then what is the use of "new" ?
Without "new" complier throws an error of ambiguity. With "new", compiler understands that the programmer knows about the ambiguity and still wants the function with the signature to exist in the derived class too.