TCP has no knowledge of the structure or purpose of data sent by applications. It treats all data as an unstructured stream of bytes and chooses when and how to send data based solely on the sliding window system. The push function allows applications to immediately send data without waiting for more to accumulate. The urgent function allows applications to send critical data with higher priority than other data by setting the URG flag and urgent pointer field in TCP segments.