The reverse shell payload from msf use a new port to connect back to the attacker, therefore if the target server has outgoing filters, attack would fail.
i.e established server:ftp <-> attacker:12345
After exploit
server: 23456 <-> attacker:4444 // why not try to connect the 12345 port?
But why would it use a new port, why not REUSE the existing channel?