Generally: NO, Mathematica will always give back nested lists of any dimensions you like. If you really want flattened lists, there are multiple options: Either using Join and or Flatten as you mentioned, another solutions is to use Sow and Reap:
Reap[Do[Sow[{i,j}],{i,Range[3]},{j,Range[i]}]][[2,1]]
But I'm quite sure this will be slower in most cases. For the 'rectangular' cases (i.e. the output would have been a N-Dimensional rectangle) you can also get a 1D list if you do it in one of these ways:
Flatten[Table[{i,j},{i,5},{j,8}],1]
Join@@Table[{i,j},{i,5},{j,8}]
Reap[Do[Sow[{i,j}],{i,5},{j,8}]][[2,1]]
Tuples[{Range[5],Range[8]}]
You can't however use Tuples for those 'ragged' cases, like the example you gave.
Perhaps easiest is the following:
FlatTable[a_, x__] := Flatten[Table[a, x], Length[{x}] - 1]
which will create 'your table' that flattens it for you.