Please read note 949074.
In standard, here are the bapis realesed for customer use.
bapi_outb_delivery_create_sls
bapi_outb_delivery_create_sto
bapi_outb_delivery_create_noref
From the BAPIs' name. it's easy to tell the functionality.
It's for SO-delivery, STO-delivery and delivery-without-reference.
The FMs (RV_DELIVERY_CREATE and GN_DELIVERY_CREATE) are the core function module for collective delivery creation. All the BAPIs, and standard non-dialog delivery creation tcodes will finally call one of the FMs to create delivery.
(Exceptions: VL01n, VL31n don't use the FMs. They have different program logic.)
RV_DELIVERY_CREATE: It's for sales order delivery creation and it's ONLY for SO-delivery scenario.
GN_DELIVERY_CREATE: All the scenarios except SO-deliveries (STO-delivery, inbound delivery, post change delivery.....) should be created by this FM.