DHCP requests are broadcast queries.. in other words they wont be forwarded to other subnets. This would mean that you need one DHCP server for every single subnet you have... well, thats where the DHCP relay agent comes in..
The DHCP relay agent relays the DHCP query from one subnet to another. It also relays the DHCP server's reply to the other subnet. This way you can have one DHCP server servicing many subnets.