Debian is very well suited for application servers, web servers, file servers, hypervisors (personally, we use Proxmox for some hypervisors and this is based on Debian), and much more. It can run on various CPU architectures and scales well from large to small. We have Debian DNS servers running on Raspberry Pis, and large application and database servers running on powerful Debian installs in our racks.
If you want an OS that is rock solid, easy to manage, and predictable, Debian might be the OS you're looking for. The official packages are generally far from being bleeding edge versions, but this means that you are using packages that are battle tested and will not break compatibility at any point during its life-cycle. This, to me, is one of Debian's core strengths and a good reason for recommending it to others.
On the flip-side, the lack of up-to-date versions of various packages may be an annoyance if you actually do need to be using the latest version of such a package. If you need to be using more modern versions, you will need to remedy that yourself or look at an alternative distribution. Ubuntu may be worth a look, in this case, being that it is basically Debian with newer packages and some minor differences here and there.
Personally, I would not recommend Debian for a graphical desktop OS. You'll nearly always be better off with one of the Ubuntu flavors for a modern desktop with all the bells and whistles you'd expect with a GUI desktop.
If you have one user or 1000's of users (especially using Windows), Windows Server is a no-brainer! The only reason I would suggest going with a Linux server is if you have old hardware (Windows Server is more process intensive than Linux). But, Linux is open-source, so anyone can publish updates/security updates, but on the flip side, malicious people also have full access to Linux's codebase allowing for much easier writing of exploitations/viruses/malware/ransomware.
User and device management out of the box. Active directory is a proven system for doing this and works just as well as it always has.
ADFS providing integration into many third-party applications using SAML authentication. We use this heavily to make user experience as simple and straightforward as we can.
Local DHCP. It's another one of these systems that is very easy to setup and use out of the box and requires very little maintenance, if any. The system is almost unchanged throughout the years and so anyone with server experience can manage it.
Windows Server is extremely complex, and while newer versions have eased the initial setup process, setting up a server is still a very time consuming and difficult task.
The complexity of Windows Server also makes troubleshooting any problems that arise extremely difficult, both in tracking down the actual issue and then resolving the issue. Often times a problem can manifest itself in more than one way, making searching for the specific problem also difficult.
Windows Server is also very expensive, with complex and confusing licensing terms. In fact, Microsoft provides a 32-page PDF guide on Windows Server licensing, which is in and of itself dense and confusing to follow. To make matters more complicated, there multiple different version of Windows Server itself - Nano, Essentials, Standard and Datacenter edition, and each edition has different licensing terms. Licensing terms include items such as the physical processor's cores of the server, how many users will be accessing the server (called a CAL - client access license), and a plethora of other items.
Microsoft's support for Windows Server can be extremely frustrating at times. While Microsoft hosts a very active user forum, Microsoft employees who frequent those forums often provide only stock answers to questions (without actually reading the details) or no answers at all. For more in-depth - phone support can be quite expensive.
Upgrading a Windows Server from one major version to another (i.e. 2012 to 2016) is a frustratingly complex and dangerous procedure, as many things can go wrong during the upgrading, essentially breaking the entire setup. In fact, Microsoft doesn't even suggest doing an in-place upgrade, but to perform a backup of the existing server, doing a clean install of the new version, and migrating the information from the older version to the new version. In general, it is not even recommended to upgrade from one version to another as the risk significantly outweigh the benefits.
I've carefully reviewed the servers and services currently running on Windows Server 2012, and given the opportunity would renew them as is going forward. There are two systems I currently have in place, one is a very large Linux implementation for a large ecommerce site, and one is a very large backup solution front ended by FTP servers running Linux. Neither are well suited for Windows, but the overall network infrastructure is and will be Windows Server for the foreseeable future.
Debian is one of the most well-thought-out, logical, and intuitive Linux operating systems you can use. Configuration, package management, file system layouts, etc, are all based on many years of usage, and it's very rare to find anything surprising or confusing in everyday usage. Package management and updates are handled by APT in such a way that once configured, you can almost guarantee your system will behave as expected for the lifetime of its service. Top-notch system integration provides all the tools you'd expect from a modern Linux system, with all the stability you demand from a demanding server OS.
Everything can (and should) be done through the easy to use/navigate GUI. There is no need for archaic command prompt use to administer the server. But, it is there if you have very specific needs for batch files, etc. that are not covered in the all extensive GUI.
It has been my experience that unless there is a flaw or bug with Microsoft Windows Server, you will have to pay extra for support beyond the support web site. That said, unofficial support on the thousands of technical websites makes self-help support readily available to any technician with an internet connection. Microsoft's support website is also fairly robust, but I find using a popular search engine often returns knowledgebase articles more quickly that Microsoft's search.
Make sure that you have detailed processes in place for every server instance you plan to install/upgrade, if possible get the base OS loaded and Windows Updates applied ahead of time, and if using a VM take a snapshot prior to installing each role, as well as along the way.
Windows Server is more cost-effective and skills are easier to find to support the products. The deployment and management of the product can be automated with Microsoft SCCM. In my opinion, Linux seems to be more secured but takes more time and effort to learn than Windows Server. However, there are more Windows Server skills available in the job market.