Sub tables are just like any other tables with relation to a parent table.
You probably want to compare joins agains nested queries with sub tables.
The difference between those two is the amount of data and the structure. There isn’t much of performance difference.
A regular query with a join to a sub table will actually produce a lot of data replicating the parent records to all sub table records and you will need to filter or group this data later on. It is done in a single query.
While a nested query on sub table is actually nesting the sub table results directly under each parent record. So everything is already grouped as you would expect. Nested queries does add an additional query per level but because everything is filtered and relational let’s are used, there is no much of a performance hit.
So it is actually much more about convenience and logically grouping data with nested queries with sub tables than performance - both ways perform similar.
And lastly you can always query a sub table directly just as any other table.