The GPL makes fragmentation easier to solve by its reciprocal nature. Sure, you can fork but you can't privatise the software. Should a deviation be attractive enough, the original software can incorporate the changes.
There are plenty of examples where software under non-reciprocal licenses like BSD has been incorporated into proprietary software. GPL violations certainly occur, but the nature of the license ensures your fork can't eclipse the original simply by hiding your changes.