* javascript miners operate at a fraction of the efficiency of native miners (I don't have exact numbers, but I vaguely remember somewhere between 1/2 to 2/3)
* "professional" (ie. non-javascript) miners use high end CPUs, whereas the typical user might be on a i3 or ARM device. this matters because monero mining gets a significant performance boost from a bigger cache.
* "professional" mining pools have fees of ~1%. coinhive has a fee of 30%.
* mining is competitive market, where profit margins are low.
I actually didn't know that coinhive's fee was that high. that alone means $3 of every $10 is "lost" as transaction fees.