What can be done with this functionality? Can the CPU then alter the packet in some way? Can the CPU then choose to forward the packet to another interface based on its source interface or destination?
The packet needs to be sent to the CPU if RouterOS proper is going to process the packet (e.g. forward it subject to IP Firewall rules).
However RouterOS can set the switch chip to deal with certain packets at the switch level - e.g. several interfaces on the switch chip can be bridged together.
Passing packets to the CPU allows the full functionality of RouterOS to direct the packets. Dealing with the packets locally on the chip gives a smaller range of functionality but since the CPU is not involved the processing speed is typically higher for packets processed on the chip.