As @stephenw10 mentioned, using Reject internally is one good reason, but there are also other reasons someone might want explicit block/reject rules, such as:
To fine-tune which blocked traffic gets logged / not logged
In combination with policy routing rules and the "Skip rules when gateway is down" option so that policy routed traffic will fall through to specific block rules if a gateway is offline
To make the ruleset easier to read for less experienced admins who are not familiar with the default block behavior