Delivery Service versus Service Execution

Does anyone know benefits of using a registered delivery service versus a generic architecture service for delivery that is called via executing a service (asynch, synch or service execution task)?

We are having issues keeping a delivery service registered and we can’t think of any benefit of delivery service over direct execution of a service.