+1 to James. I want to add to it, too. While SharePoint does a great job with security and collaboration, since this will be customer-facing you should take a good look at whether the collaboration features meets your requirements. For example, the discussion threads are great for an intranet environment, but they do not look and feel like discussion board software people may be used to using on other web sites. So be prepared to do a lot of customization (especially of the user interface), but that may be ok. As a platform, SharePoint excels -- particularly in a service-oriented environment.
If you go with SharePoint, you almost have to build your product for SharePoint Foundation so that you can keep your customers' total costs low (SharePoint CALs, SQL Server, hardware, etc). You'll want to build friendly user interfaces for managing permission, allowing your users to create their own pages, and other provisioning tasks -- or provide rock-solid documentation on how to do it out of the box with SharePoint. With SharePoint, you should use features and Web Parts to deploy your code either way , whether SaaS or on-premise. That will make it easier to deploy and upgrade.
I've been keeping an eye on the Orhard Project for use in projects like I think you're describing (without more details it's hard to say). I'm not sure that it is ready yet, but if you can find a forum related to that product, it may be worth asking there also. My opinion is that it is more like a WordPress than a SharePoint. There will apparently be modules that can be added on to maybe do some of the things you need.