First of all, this is timer code for the Arduino Mega, not the Due.
The code doesn't appear to match the comments. The comments mention "phase correct PWM mode" and "CTC mode", but the code is actually setting up timer 1 for fast PWM mode, (WGM11, WGM12 and WGM13 set to 1).
Fast PWM mode allows for frequency controllable, single slope PWM.
In fast mode the timer counts from 0 to the value in the ICR1 register. When the timer (TCNT1) reaches the ICR1 value, the timer overflows and is reset back to 0. The value of the ICR1 register and the prescaler allow the frequency of the PWM signal to be selected, such that:
PWM Frequency = 16MHz / (prescaler value * (ICR1 + 1))
Setting the COM1Ax bit to 1 causes the output to go high at the start of the timer period, until the timer (TCNT1) matches the compare register OCR1A. When the match occurs the output is cleared to 0 for the remainder of the period. At the end of the period, when the timer overflows the output returns high oncemore. This sets up a non-inverting output.
The TIFR1 (interrupt flag register) overflow and compare bits have been set, to clear interrupt overflow and compare interrupt flags. The TIMSK1 enables the overflow interrupts on timer 1.
Note that it's not necessary to load the ICR and OCR1A register high and low bytes separately. You can just use OCR1A and ICR1 and load them with a 16-bit value instead.
For more information see Atmega2560 datasheet section 17. 16-bit Timer/Counter (Timer/Counter 1, 3, 4 & 5).