i motivi principali per cui vengono sconsigliati, in generale s'intende, sono:

1- i frames non ti permettono di indicizzare correttamente il tuo sito sui motori di ricerca, dal momento che i motori indicizzano le singole pagine interne ai frames oltre alla pagina che contiene il frameset

2- i frames non sono accessibili, ovvero non puoi implementare l'accessibilità per alcune disabilità, ad esempio un browser per ciechi non riesce a leggere i contenuti in maniera coerente.

3- se si vuole fare un reload di due o più frame contemporaneamente il sito dipende esclusivamente da javascript e se questo fosse disabilitato sul client il sito risulterebbe non navigabile

per ora mi vengono in mente questi, a me sembrano più che sufficienti