It used to be that the argument was SharePoint was too complicated to program against, it was strictly for intranets since only AD authentication was supported, and even customizing the look was too complex. Because of these shortcomings, I leaned towards DotNetNuke for development. DotNetNuke was my platform of choice for custom applications and Internet applications. But after spending days researching SharePoint 2007, a pivotal moment came in my thinking. SharePoint is the clear winner on all fronts.
Granted DotNetNuke has its place in smaller shops who cannot afford the licensing of SharePoint, but for the larger enterprise it simply makes more sense to develop your solutions on SharePoint 2007 rather than DNN. SharePoint as an intranet application supports better integration with AD, I've spent many days banging my head on my desk trying to get DNN to work correctly with AD, the problem becomes more apparent when trying to use DNN child portals with AD authentication. It simply doesn't work well.
The one plus DNN had over SharePoint was development. Since DNN was strictly developed using ASP.NET opposed to SharePoint which was an ISAPI extension, it was just loads easier to develop for DNN. Now with SharePoint 2007, it isn't that way anymore. SharePoint 2007 runs on ASP.NET 2.0 and uses HTTPHandlers and HTTPModules as the application. All ASPX pages are stored within SQL. You can easily extend SharePoint using your commonly used development tools -- it's an ASP.NET app!
Another argument for DNN over SharePoint was "SharePoint is good for intranets, but not the Internet due to AD authentication only." Well, that isn't the case anymore, you can now use forms authentication instead of AD with SharePoint which allows you to authenticate against an LDAP provider of your choice or database. In addition, SharePoint enables you to extend an existing application to another Web application so an internal and external site can share information. Each application can have its own authentication method -- so one can be forms, and the other AD. How great is that?!
SharePoint has come a long way and 2007 (version 3) has really shown major improvements. I was disappointed a few years ago when Microsoft split Site Server up into separate products but with SharePoint 2007, they have now brought them back in, Content Management Server, Search, are now brought into SharePoint bringing the functionality back that Site Server had all those years ago.
SharePoint still has those great features of Office integration, and really too many to list here (they even have blogging and wiki in this version!). Your user community will love you for SharePoint's Office integration. Once you set it up, people will have request in one after another to set them up a SharePoint site.
My thoughts for 2007, and probably hard to believe being that I have been a DNN'er for so long is, DotNetNuke is great for the small mom and pop shop (I still use it for my personal websites - but that is cost driven), and people learning ASP.NET, but for the enterprise SharePoint 2007 is the way to go. SharePoint will enable the enterprise to create a central application framework built on a world class application, and extend it to both internal needs as well as external.