You can easily see from the commit logs what commits were made after the fork which gives insight on why they were forked and how they differed (looks like net-ping2 was forked because net-ping depended on an old version of raw-socket and it looks like raw-socket2 was forked to add support for node 0.11/0.12?).
Other thing of note that is different: raw-socket2 has a valid repository URL in the package.json, the one in raw-socket is not a valid URL (creates a dead link from NPM).
As to why these forks were published to NPM instead of sent as pull requests, only the author would know (you could try
asking), but my guess is because it was easier to do that than to try to figure out how to use BitBucket and submit patches through there (I'm assuming there's no easy way to send a PR from a fork on GitHub back to the original BitBucket project...).