Why are processes on the internet not required to use TCP or UDP?
In this context, a process is a normal computer application process, e.g., as defined in wikipedia:

a process is the instance of a computer program that is being executed by one or many threads. It contains the program code and its activity. Depending on the operating system (OS), a process may be made up of multiple threads of execution that execute instructions concurrently

So, as Tanenbaum points out, a process that wishes to communicate over the Internet, need not use TCP or UDP. In fact, there are other transport protocols besides TCP or UDP, although those two are the most common. See wikipedia on transport protocols for other transport protocols like SCTP and DCCP. NAT boxes that need a TCP source port to work, would not be able to properly work with other transport protocols. I think Tanenbaum gives the example of a multimedia application, because the requirements can be quite different, e.g., for real-time multimedia, where there is yet another transport protocol combination, RTP/UDP/IP (Realtime Transport Protocol over UDP, then over IP) that is better suited for multimedia traffic than TCP/IP.
Why do we hear the phrase TCP/IP so often? Because we hear that, we may get confused and think like you thought, that TCP was &quot;part of&quot; IP. Actually, TCP and IP are separately protocols on different layers of the protocol stack (transport layer and network layer, respectively). However, in the Internet, TCP is so commonly used, that people started saying TCP/IP, for communications using TCP over IP.