After spending almost 20 hours on the phone with Microsoft support last week I can tell you why I wouldn't use it as my technology stack - you can't dig in to understand and fix a lot of things yourself.
It was a SharePoint issue with the emails it sends out and it ended up being a permission issue (well, not even sure you would call it that - but the fix was resetting the system account's password). There had been no changes in accounts or anything else besides the creation of new sites and to make it even harder no error messages or useful logging. I've seen issues like this more times than I can count over the years and sometimes there is no solution that can be found. With open source it might take a lot of work, but there is always a fix that can be made.
Sharepoint should not fall under this discussion... that's a product and has little to do with a startup's development stack.. Most .net devs won't touch it
I don't know about that since Microsoft is pushing SharePoint to developers as their main web platform. Would I use it personally, no... but there is a lot to gain from it if you are already a Microsoft shop and the newest version is a lot more standards complaint and the API is pretty good now.
Microsoft is pushing Sharepoint to non-developers as their main web platform. Then business analysts are forced to learn it, and eventually they want programmers to build on top of it. You program against Sharepoint as a matter of consequence, not choice.
FYI, as a SQL Server dev intern I can tell you that we have little to no interaction with SharePoint (except that Sharepoint runs on SQL Server). We focus on application development. SharePoint is just a management product.
Not sure if I follow what your saying, but SharePoint is anything from http://www.ferrari.com to a million user intranet. There is a lot of development work going on these days using SharePoint as a platform.