Provides an ability to override the standard Merge method with user defined method.

One practical example is implementing custom merge method in Apex and exposing it as a Salesforce REST.

Read more:
Exposing Apex Classes as REST Web Services | Apex Developer Guide | Salesforce Developer

global class accountMergeAPI {
    global static MyMergeResponse[] accountMerge(MyMergeRequest[] request) {
        // implement custom merge
        return new MyMergeResponse[] {resp};
    global class MyMergeRequest{
        public SObject masterRecord {get; set;}
        public ID[] recordToMergeIds {get; set;}
        public Map<String,String> AdditionalInformationMap {get;set;}
    global class MyError { 
        public String statusCode {get; set;} 
        public String message {get; set;} 
        public String[] fields{get; set;} 
    global class MyMergeResponse { 
        public MyError[] errors {get; set;} 
        public ID id {get; set;} 
        public ID[] mergedRecordIds {get; set;} 
        public Boolean success {get; set;} 
        public ID[] updatedRelatedIds {get; set;}

In order to activate above REST service, specify the following Endpoint Url in the API Integration Merge method

<salesforce url>/services/apexrest/mergeAccounts/accountMerge 

Below you can find complete example of overriding standard merge to solve an issue of orphaned households in Salesforce NPSP.

Can I merge contacts in Nonprofit Success Pack (NPSP)?