I can think of several reasons:
- Reverse engineering something is much less fun than creating something new
- ReactOS (as well as mono and wine) are destined to be playing catch-up with whatever Microsoft does. This puts them always one step behind their “competitor”.
- Even further, Microsoft can always make it harder for immitators, by introducing complex new libraries and APIs.
- And even if you manage to get over the previous hardles, Microsoft can always sue you for “copying their intellectual property” , effectively killing all your hard work.
I applaud what the ReactOS guys are doing and wish them the best of luck, but on the other hand I believe they have chosen a very difficult path.