With binary log file-and-position replication, promoting a replica means finding the equivalent coordinate on every other replica by hand, at the moment nobody wants to be doing arithmetic. GTIDs make each transaction globally identifiable, so a replica can be pointed at a new master and work it out.
-- my.cnf, on every server
gtid_mode = ON
enforce_gtid_consistency = ON
log_slave_updates = ON
-- and failover becomes
CHANGE MASTER TO MASTER_HOST='db-02', MASTER_AUTO_POSITION=1;
Enabling it on a running system is a rolling process with a specific order, and it is worth doing before it is needed rather than during an incident. The constraint to know about: enforce_gtid_consistency rejects some statements — creating a table with SELECT, and transactions mixing transactional and non-transactional tables — so an application doing either needs changing first.