Why do people use str4d or nheqminer instead of the default one (zcashd -gen=1)

What's the reason for all the miner forks? Neither https://github.com/str4d/zcash nor https://github.com/razakal/nheqminer/ explains what's the difference / benefit of using them but it seems like all the pools use them instead of the default miner.

I believe one of the main reasons is that you don't have to run a wallet alongside it.

My miner uses the same internal miners as the default miner. The reason for pools using the forks is because they are solely miners with Stratum support, and can communicate with the pools. zcashd has no need to communicate with pools, because it can communicate directly with the Zcash network.