Using a single table would allow you to have a deeper nested heirarchy. For example:
title
comment
comment2
comment_to_comment
comment3
comment_to_comment2
comment_to_comment3
So it's an additional capability that doesn't exist with the 2 table setup.
"I would only do it if you need that capability" because the queries will be more complicated. It would also be beneficial to add a (root_id) column to such a table to indicate the node with the title for comments with a nesting level greater than 1.
You could also use one table for the data and one table for the parent/child hierarchy (this is just an example, you may need to adjust the syntax).
create table element (
id serial not null primary key,
data integer not null
);
create table heirarchy (
id serial not null primary key,
id_root integer not null references element(id),
id_parent integer not null references element(id),
id_child integer not null references element(id)
);
insert into element (data) values (100);
insert into element (data) values (101);
insert into element (data) values (102);
insert into element (data) values (103);
insert into element (data) values (104);
insert into element (data) values (105);
insert into element (data) values (106);
insert into element (data) values (107);
insert into element (data) values (108);
select id, data from element;
1 | 100
2 | 101
3 | 102
4 | 103
5 | 104
6 | 105
7 | 106
8 | 107
9 | 108
insert into heirarchy (id_root, id_parent, id_child) values (3, 3, 4);
insert into heirarchy (id_root, id_parent, id_child) values (3, 3, 5);
insert into heirarchy (id_root, id_parent, id_child) values (3, 4, 1);
insert into heirarchy (id_root, id_parent, id_child) values (3, 4, 2);
insert into heirarchy (id_root, id_parent, id_child) values (3, 1, 9);
insert into heirarchy (id_root, id_parent, id_child) values (6, 6, 7);
insert into heirarchy (id_root, id_parent, id_child) values (6, 6, 8);
This kind of thing isn't trivial and you also can setup triggers to prevent circular relationships.