transfer
, the older of the two commands, creates a single transaction. This can fail if you try to create a transaction with too many destinations / the transaction becomes too large.
transfer_split
may create more than one transaction. This is useful if you are wanting to create transactions with a higher number of destinations as it can efficiently split the the transfer, as necessary, into multiple transactions.
If you are only ever doing single destination transfers, you can safely use either. If you need to create transfers to multiple destinations, it's safer to just use transfer_split
.
IIRC, the only reason transfer
still exists is for backwards compatibility, i.e. to not break existing applications that were built before transfer_split
was added.