Потому что соединение не идеально, оно прерывается, некоторые данные по пути теряются. Допустим, я хочу передать файл по интернету. Если файл небольшой, то велика вероятность, что он не пострадает. В противном случае можно потратить много времени на передачу части файла, после чего данные передадутся с ошибкой, которую мы обнаружим только после передачи всего файла. Передавая информацию пакетами же можно этого избежать, так как любая потеря данных будет сразу видна по плохому пакету. После этого можно эту ошибку сразу и обработать и, допустим запросить повтор предыдущего пакета или попытаться починить пакет, прибывший с ошибкой.
// PascalABC.NET 3.3, сборка 1542 от 05.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=8; var a:=new real[n,n]; var k:=1; for var i:=0 to n-1 do for var j:=0 to n-1 do begin if i.IsEven then a[i,n-1-j]:=k else a[i,j]:=k; k+=1 end; a.Println(3,0) end.