I don't know the name of this pattern but what is the purpose of such methods:
AddOrUpdate GetOrAdd instead of single-operation ones?
I don't know if there is a common name which counts as a "pattern", but I can tell you the purpose.
With only singular Add and Update methods at hand, in an "Add-Or-Update scenario" the caller will have to test for the existence of a certain record. An AddOrUpdate method allows to shift this responsibility from the caller to the callee.
This is useful in a Client-/Server scenario or Web-API-scenario, where each Add, Update and Exists operation will cause one or more extra network roundtrips. AddOrUpdate will allow to bundle those calls into one. It may also help to avoid the necessity of creating an explicit transaction for the "if record exists update else add" sequence at the calling side.
Updateand state in the docs that the method will create a new record if one doesn't exist. Sometimes you'll findUpsert(as D M pointed out), and sometimes people are more explicit, and useAddOrUpdate.