There is actually one difference that might bite you if you were to blindly refactor from one to the other:
>>> import numpy as np
>>> a = np.arange(4).reshape(2, 2)
>>>
>>> np.sum(a)
6
>>> np.add.reduce(a)
array([2, 4])
>>>
The axis
default values are different!