If --incremental is specified in Beeline, rows are meant to be printed out immediately. However, if TableOutputFormat is used with this option the formatting can look really off.
The reason is that IncrementalRows does not do a global calculation of the optimal width size for TableOutputFormat (it can't because it only sees one row at a time). The output of BufferedRows looks much better because it can do this global calculation.
If --incremental is used, and TableOutputFormat is used, the width should be re-calculated every "x" rows ("x" can be configurable and by default it can be 1000).