I would say to be honest its a question of budget. In an ideal world you would have resilient dedicated primary and backup hardware for all services / tasks. It also depends on the size of your estate and how many users it supports.
If for instance you take a DHCP server as an example, its actually performing a very light weight task and as such doesn’t really need to be be sat on a dual CPU, raid 15 beast with 8GB if RAM but it’s an extremely important task nonetheless and without a resilient partner your network can grind to a halt very quickly. As such I would put the primary on a dedicated machine and if cost was an option then potential use a backup DC or print server as the second DHCP server……for example.
If we are talking about an application server for your core application then no way, dedicated hardware all the way!! And make sure its resilient itself not just has a backup machine.