EIP-777 came out in late 2017 and yet many projects still use ERC20 token standard. The only one I've heard of using ERC777 was UNI which was hacked because the attacker was able to set how the
tokensToSend function was called and by whom.
Anyway, I see the
receive hooks as rather useful and instead of trying to re-invent the wheel by developing this functionality in an ERC20 based Dapp was thinking that ERC777 should just be used rather than ERC20.
If you take a look at the Ethereum Token Standards, they simply list ERC20 as one of the most "popular" but never refer to it as "best practice".