As DHCP messages are broadcast, these broadcast messages are not forwarded out of subnet by router to other subnets (Assuming that you have more than one subnet). It means you need to have a DHCP server for each of your subnet, which is not practical. The DHCP relay agent receives DHCP Discover and Request messages broadcasted by the PC, and unicasts them directly to the DHCP server. With each of your subnets configured with a relay agent, one DHCP server can cater to all the clients in different subnets.