One thing I can say about SharePoint (WSS 3.0 & MOSS 2007)development is it sucks. The tools are weak from creating to debugging. Something that literally took about 15 minutes in straight ASP.NET took 3+ hours yesterday.
So, I'm rethinking my perspective on SharePoint as an Application Platform when the applications are more complex than just managing lists or data direct in SharePoint, or Workflow involving SharePoint objects such as Lists, Documents, etc.
I'm coming away from this thinking that we perhaps build certain features straight on ASP.NET.
The biggest issue is the tools. They are not well integrated and productive and there is no debug support (simple) nor design time support. Basically, code - deploy - then look for errors - re-code - redeploy - then look for errors. Sucks. Feel like I'm back doing printf or debug.write statements all over again - which is what I'm doing.