Как правильно писать HTML, используя Javascript?

Я вижу в некоторых сообщениях, что люди недовольны использованиемdocument.write() в JavaScript при написании динамического HTML.

Почему это? и что этоправильный путь?