I've got no problem running (most) tasks combined on a single server.
There are certain tasks that should be dedicated to their own server
(not that they _have_ to be, they should be). Specifically, SQLServer
and Exchange Server because they are huge resource consumers (they are
databases!) and want to use as much of the machine as they can get their
hands on. And at least one domain controller should be off on its own
(likely a GC and FSMO owner) as having an operating DC is extremely
important, and the couple thousand for the additional server is just
Having said that, it's perfectly possible (and supported) to run
everything on a single box, just look at SBS.