Any Linux system can serve as a "server." And that word, "server," can of course mean a great many things.
The specific role that you describe .. that of handing-out network addresses to DHCP-clients .. is a bit unusual. Most commonly, one of the routers (in each isolated network-segment) does that... and to avoid nasty conflicts, you must be sure that there's always only-one source.
To be "a server," a computer simply has to run some programs (they're called daemons in Linux/Unix and services in Windows) that are designed to "listen" on various TCP/IP ports and to respond in some useful way to requests that are sent to them that way. Computers usually employ a firewall to filter-out requests that should not be allowed to arrive.
A "dedicated server" is a machine that is, well, "dedicated to" the task of "being a server." Which means not only that it has a lot of hardware capacity, but that it isn't running many programs that are un-related to the services that it is intended to perform. Large-scale installations are usually "rack-mounted," so-called "blade" servers, where each computer sits on a single circuit-card and there might be dozens of them in a single case. Each of these machines is focused on a single task ... providing a single set of services very efficiently.
Yet... the software that runs on each one of them is "straight out of the box Linux." Many distribution-writers have found a good niche market of building pre-planned distributions that are targeted for this type of deployment, and they have built specialized (usually open-source) tools to allow you to manage "hundreds and hundreds of blades."