Well, the ultimate choice will vary on your business need. They all do the same thing, but how they achieve the goal is quite different.
Umbraco - It utilizes the Model, View, Controller (MVC) methodology. This obviously presents an assortment of benefits. However, the methodology to build a product can be quite extensive and even the layout to modify data can be quite cumbersome.
DotNetNuke - Uses a more familiar technology, Web-Forms. This has an assortment of benefits that go a long with it. Including a market, documentation, permission, and ease.
I've never used Orchard so I can't comment- but I can comment on the other two. To show you how I came to my conclusion to use which Content Management System hopefully it will point you in the best direction.
My project that I worked on required a lot of non-technical people to utilize our new product. It has a lot of functionality and features that were required; the biggest however was ensuring the following:
- Ease
- Intuitive
- Control
- Speed
Those were our four primary categories. I'll attempt to outline what each area means-
One of the largest pitfall of a Content Management System is that they tend to do more then you require. So the question becomes which product will bend while maintaining my core goals be. For that reason our company chose DotNetNuke because by nature DotNetNuke isn't a Content Management System it is a very powerful Framework.
What this particular product does is focus on a lot of key aspects so a developer doesn't have to waste a lot of time in maintaining but rather in developing.
Ease - A non-technical user is able to view a page; then edit the content in place on that page. Which allows you to incorporate a What you see, is what you get mentality. For the non-developer they get the all familiar Email or Word Editor.
Intuitive - In DotNetNuke 7 they've modified the menu structure for editing. You can actually disable other users to make it actually show less, do less, and still maintain the highest level of control. The user won't get lost in editing the page.
Control - Now this is what is nice, you can regulate each and every control for your user. So you can allow certain content to be regulated and other data not to be.
Speed - It has a market, so you can implement other developer modules. But it also includes a lot of documentation- it may appear cumbersome at first but is quite easy to pick up. Which makes the initial start time relatively painless.
But what do all of those mean to you?
Simple, it means you can develop a beautiful elegant page quite quickly. But since you can restrict several tiers of access you can ensure the page content can be edited by someone other then you- But it won't jeopardize any of your development / content. As you control whom and what is modified.
If your familiar with Microsoft .Net then it will be quite easy to learn; I'm sure other products can accomplish those same goals. But DotNetNuke did it easier which met our goals. It allowed us to not worry about excessive issues or support to enter our company; as the user understood it in such a way that issues don't arise.
That is why we chose DotNetNuke it will boil down to your preference. My experience with the product, community, and marketplace have made me love this product and not chose another. As I can leverage the Core API when needed; so Development, Maintenance, Administration became a breeze for whatever my imagination may produce. But should a developer ever not be present the site and it's quality will not hinder when I leave.