There could be many reasons for this.
The main ones are location issues (the location of the recipient can create a delay in the delivery. Common reasons for this are being on the border of two coverage areas or travelling at speed) and issues with the actual mobile device.
Texting during periods of heavy network traffic can also impact text delivery speed, e.g. New Year's Eve.