Я согласен со всеми, что они должны быть последним средством, но есть определенные вещи, которые требуют использования фреймов.
Например, нет лучшего способа загрузки файла ajax, чем отправка в iframe и последующая реакция на событие onload iframe для его обработки.