Why does mysql binlog use different isolation level? Default isolation level:

mysql&gt; SELECT @@TX_ISOLATION;
+-----------------+
| @@TX_ISOLATION  |
+-----------------+
| REPEATABLE-READ |
+-----------------+
1 row in set (0.00 sec)


Binlog:

mysqlbinlog mysql-bin.000078 --base64-output=DECODE-ROWS
....
/*!50718 SET TRANSACTION ISOLATION LEVEL READ COMMITTED*//*!*/;


What is the reason for using different level isolation in binlog?
How it can affect an application code written for REPEATABLE READ isolation level?
It seems like there are no concurrent threads during replication or data recovery process, so a lower isolation level helps us to avoid unnecessary locks and speed up the process.