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