He just gets the money he earned earlier!
The D'back signed him for 2 years $24.0 million.
His new deal with the D'backs calls for a $12.0 million signing bonus, of which $3.5 million is payable in 2007, $500,000 in 2008 and $4.0 million each in 2009 and 2010. As part of the trade, the Yankees will pay $2.0 million of Johnson's salary in 2007. That means Arizona would be responsible for $24.0 million (incl. bonus):
Johnson will get $5.5 million in 2007 (instead of the original $16.0 million he was goin to get from the contract signed w the Yankees),
$10.5 million in 2008 and $4.0 million each in 2009 and 2010.
So actually its a good deal for the D'backs.
And here comes the bad part:
"In addition, the Diamondbacks owe the five-time Cy Young Award winner $44.1 million, including accrued interest, from 2007-12. (he will receive $3.5 million in 2007, $6.6 million in 2008 and $8.5 million in each of the four years after that)
That money was earned by Johnson when he pitched for Arizona from 1999-2004, winning four Cy Youngs. "
So they were going to pay this anyway, even if he was pitching for someone else, or just retire, and the reason they did this that they needed some financial flexibility, and didnt wanted to get into luxury tax territory.