The way I understand it is that a transaction is started when replication occurs. If for some reason it fails an error log is kept and you to deal with it at the appropriate time. It uses the SQL Agent for email, pager or net send.
Hope that answers you question...