There are two distinctions to be made here. Both Row
and List
will resize graphics objects if they are above a certain threshold size, and that threshold size is different.
List
List
will resize a graphics object when its width is larger than 180 pixels, and then further reduce its size if the width is over 360
Manipulate[Labeled[
{RandomImage[1, {n, 200}]},
"Width = " <> IntegerString[n]], {{n, 50}, 50, 1000, 1},
ContentSize -> {300, 400}]

A similar effect is seen with the height with a threshold value of 430 pixels,
Manipulate[Labeled[
{RandomImage[1, {200, n}]},
"Height = " <> IntegerString[n]], {{n, 50}, 50, 1000, 1},
ContentSize -> {300, 400}]

Row
Unlike List
, Row
will not resize a graphic if it is the only element in the list,
Row[{RandomImage[1, {300, 200}]}]
Row[{RandomImage[1, {500, 200}]}]

But it will resize if there is more than one element in the list,
Manipulate[
Labeled[
Row[{#, , #, , #, , #}] &@RandomImage[1, {n, 200}],
"Width = " <> IntegerString[n]]
, {{n, 50}, 50, 1000, 1}, ContentSize -> {500, 250}]

Things get even more complicated when you combine the two functions, such that you have Row
objects inside the List
along with other graphics
Manipulate[
Labeled[
{#, Row[{#, , #, , #, , #}]} &@RandomImage[1, {n, 200}],
"Width = " <> IntegerString[n]]
, {{n, 50}, 50, 1000, 1}, ContentSize -> {500, 250}]

So there appears to be some kind of rhyme and reason to it, but it'd take a bit more work like this to exactly nail down when it is doing this and why.