Well Suited: Perfect for hosting your own website. And, I don't mean just an individual with a port of MySpace. I mean an industrial strength, commercial grade replacement for Microsoft IIS. If you need a web server that provides a feature-rich environment with support for multiple sites (hosted in the same server), with such features as virtual hosting, and modular feature design, than Apache Web Server is right on the money. Less Well-Suited: Single page, small feature-set websites. Apache is a lot of trouble for developers to set up, just to send/receive JSON strings of a few bytes. You're really better off using something smaller and faster/simpler (lighttpd for example).
If you need to build anything from a quick-and-dirty GUI utility to a full-fledged desktop application, .NET is the way to go. It doesn't require extensive knowledge of the languages as Visual Studio is extremely helpful in its autocomplete, refactoring, and prompts, and lets you build out your solution easily without worrying about the details of [the] setup and boilerplate.
Apache is Open Source, governed well (the foundation) and probably the most stable computing platform ever.
Apache is probably one of the most customizable and configurable pieces of software that I have ever run across in more than 30 years of development.
If there is something that Apache can not do, then you need to ask yourself; should I be doing that? The point here is that it is a solid solution and seems to only integrate other technologies that are of the highest caliber.
Apache will live forever and you can not go wrong with it.
.NET is heavily Microsoft Windows oriented, and while .NET core tried to resolve that with MacOS and Linux support, .NET Core is still waiting for wider adoption.
While free for small projects, additional features for big projects can be a little expensive.
Can be resource-heavy upon deployment. We continuously have our more senior staff optimize the code of our junior developers for performance. Other languages are a little bit more forgiving in comparison.
.NET frameworks are fantastic overall. There are no limitations to what you can accomplish with it. The most important part is that you'll have access to developer community support and that .NET is always being improved every month. Be it in web applications, back-end servers, or integrations, .NET enables developers to do it all.
I give this rating because there is so much Apache documentation and information on the web that you can literally do anything. This has to do with the fact that there is a huge Open Source community that is beyond mature and perhaps one of the most helpful to be found. The only thing that should hold anyone back from anything is that they can not read. RTFM, my friend. And I must say that the manual is excellent.
As Microsoft Gold Partners, we do have access to a lot of additional information and support from Microsoft. Still, the availability of "open and free" documentation, community, and enthusiasts of the platform is vast. Added to that, the quality of resources provided for all the Microsoft ecosystem is very impressive.
The comparison with other products from IBM or Oracle is difficult. These are mostly software that has to be paid for. The only fair comparison at eye level is probably the NGINX web server: It is also free and offers even higher performance. In the meantime, there is also a paid Plus version of NGINX. This has extended support and special functions.
If it was up to me, I'd rather use something like Node.js hands down. Things are simpler, there is no gigantic convoluted class hierarchy to learn like there is with .NET. Also Node is really fast and lightweight. I find .NET these days to be a totally solid product and it certainly has its place - but it seems a bit dated and boring to me now.
Apache web server helped us in building client applications without much investment in the underlying server configuration which gives us the ability to start on a new project quickly and upgrade its resources as and when needed.
Using software which is well-supported by a community of open source contributors makes tasks easy and affordable when need help since a couple of minutes on Google saves a couple of dollars every time and you don't need a specialized support person unless there is something significant needing to be changed.
We are slowly switching from a dying programming language to .NET because it was too expensive to hire developers for the old programming language. There are way more .NET developers around and an amazing community which has allowed us to keep our costs low.
Our development time has been greatly reduced because now we're not developing applications for each OS platform. We do it once and deploy accordingly.
.NET Core has been a big mindshift in terms of how to program. The learning curve has been quite high for existing .NET developers.