I think a big part of the reason is the effort needed to reverse-engineer the code and also try to not get sued by Blizz. You can follow the discussion on teamliquid in the BW forums.
And the effort not to give up when your reverse-engineering efforts reveal remarkable stupidities in the original code. We all know crunch happens, but that doesn't make dealing with the resulting spaghetti any easier.
(I spent several years reverse-engineering Command & Conquer RA2, I should know - that game has hacks and flukes everywhere.)