Мне кажется правильней не советовать, а описать особенности каждого, потому что это сильно зависит от обстоятеств, а вы свои исходные условия не описали.
У каждой структуры есть свои плюсы и минусы.
У древовидной — просто не отследить новые комментарии. При активном комментировании как на хабре приходится вводить кучу «компенсирующего функционала». Зато удобно вести дискуссии погружаясь в нужную ветку.
Двухуровневая структура — лишь частный случай древовидной и при большом кол-ве комментариев также придется вводить компенсаторный функционал.
В линейной форме просто и без вывертов видны новые комментарии и реализовать ее проще. Зато проблема с дискутированием, но при небольшом кол-ве комментариев это можно компенсировать введя «маркер ответа» (например номер комментария).
Выводить ли все на одной странице — вопрос объемов. Мне кажется что до неск. сотен элементов все прекрасно выводится и на одной странице.
Кроме прочего, если у вас встал вопрос о разработке комментариев, то видимо проект новый и я бы рекомендовал потратить меньше усилий и реализовать самый простой вариант (при необходимости предусмотрев поля для «дерева» на будущее).