There is not ONE row-size in most tables. Do to NULL values, variable length fields and compression, every row will have a different length. To calculate the average row-size of a table simply divide the table size by the record count.
My understanding was compressed values are never part of Row. They are more part of the table header and they are always calculated as an Table Header overhead Vs Row. The row has its own overheads like presence bits, etc. Yes, they do impact the row size as they are stored in the table header as against the row itself.
Correct me if my understanding is wrong in this regard.
Yes, a compressed value is not present in the row. I think the previous poster was saying that not all values will be compressed, so some rows will have a value for the field, and other rows will not have bytes for the field at all, and that therefore row size will vary even if all the fields are fixed length types.