Direi che in linea di principio è perché serve a impedire che una cattiva persona possa dirottare la tua sessione.
Se una persona del genere stesse toccando la tua sessione, il tuo cookie (o meno banalmente qualunque valore magico nelle pagine identificasse la tua sessione) e tutto quello che dovresti fare è spoofare il tuo indirizzo IP.
Ovviamente se la tua sessione è stata crittografata questo non dovrebbe essere possibile, ma presumibilmente questa regola non presume che sia il caso, o basarsi su di essa.
Non è qualcosa che lo stesso HTTP può gestire, ma la regola stessa nota che:
Web applications can use JavaScript code once the user has logged in
and a session has been established to force the user to
re-authenticate
Quindi non è possibile supportare utenti che non desiderano utilizzare JavaScript o il cui browser non lo supporta. Quindi, la logica di tracciamento della sessione, implementata in JavaScript, consente di mantenere le informazioni sulla sessione solo nella sessione della scheda del browser. Devi assicurarti che questa implementazione sia anche portabile su tutti i browser che desideri supportare.
Suggerirei di utilizzare un'implementazione ben nota per questo piuttosto che lanciare il tuo. Immagino che i framework JavaScript più conosciuti supportino questo.
C'è di più su ciò che potresti dover specificamente fare qui: link
Aggiornamento:
Ci sono altri pochi scenari che mi vengono in mente.
Un sito di vendita di biglietti potrebbe fare qualcosa del genere per impedire ai propri clienti di "giocare" a un sistema di accodamento eseguendo più schede. Ma questo è un problema di gestione delle sessioni, perché il cliente sta effettivamente eseguendo più "sessioni di accodamento" all'interno della loro sessione effettiva.
Può anche semplificare la progettazione del sito se non ti devi preoccupare delle condizioni di gara tra le diverse attività degli utenti costringendoli così a fare "una cosa alla volta", sebbene si tratti più di una UX che di un problema di sicurezza.
Infine, questa regola potrebbe anche frustrare le attività di software di scraping, o bot (come quelli che potrebbero essere utilizzati di nuovo sui siti di ticket, ad esempio). Questa sarebbe una contromisura efficace contro l'attacco di un utente malintenzionato tramite il browser per acquisire una sessione e quindi continuare la sessione con il bot.