Why is RTS/CTS optional?
Besides RTS and CTS, there are a few other "optional" signals such as DTR, DCD,...

These signals are mostly about checking if the other end of the cable is ready. Ready can mean that the internal buffer is not full, or related to some hardware condition, such as being powered or that the phone line is up ("DCD"=Data Carrier Detect).

These signals can be made optional in several cases :


The buffers are very large, or the datarate is low, and there is no practical risk of losing data. The endpoints are always ready. This is the case nowadays with computers used as terminal emulators over asynchronous serial lines.
Some flow control mechanism is used to signal over the data lines when to start and pause transmissions : For example XON / XOFF https://en.wikipedia.org/wiki/Software_flow_control
The protocol has messages and answers, for example an initiator sends a message of predefined lenght, and waits for the answer of the target. There are many other options, such as time-triggered communications. Serial lines can be used for many purposes. There are traditional terminal or teletype connections, there are also gazillions communications protocols for embedded or industrial applications. The protocols can be designed to not need hardware flow control signals.