AddDuration is a datetime service, which takes in a StartDate (and time) and performs math on that value to find the requested DateTime. You can add (or subtract by adding a negative value) Years, Months, Days, Hours, Minutes, or Seconds. If only a date format is passed in with not time, 00:00:00 time is assumed (midnight).
The AddDuration service is smart and can take in a wide variety of StartDate formats (for example, JDEDate not accepted), however if the service does not receive the expected input StartDate, instead of throwing an exception, it just returns the current date time without performing any of the duration operations. Keep this in mind in your processes as you will not be able to depend on an exception to know it is failing.
Although it could be done, it is not good development practice to set your AddDuration service up so that when AddDuration “fails” and returns the current datetime instead of performing the expected operation, that default value of the current date time is used. This is because the error handling on this process could change in the future and cause unexpected results in your process.