The reason why its not recommended to install DHCP server on dc is because if someone tries to send spoof packet on network or any unauthorised machine sends spoof packet to dhcp,it can just flood the server with request & in worse can crash the server.
So,as a security its always install dhcp server on other server because if any attack happens to dhcp server your dc will be safe.
http://support.microsoft.com/kb/300429