The same reason tar and dd and practically everything operates on blocks not bytes, plus the same reason the shell doesn't act until eol delimiter, the opportunity to edit before submit.
I think talk could get away with it because on a shared local host both sides are accessing the same local physical resource directly, no tcp packet per byte.