I have worked fairly extensively with Sharepoint and used it as a platform for developing several different kinds of applications. That being said...
You hit the mark on most of your points
* Yes, the database is impenetrable (and it supposed to be - you aren't supposed to muck with it) - keep in mind this isn't an open source product
* Lots of the features are too dumb for programmers/power users but easy for regular users to muck up - this is a governance issue and all "portals" can suffer from this
* Canned web parts are moderately powerful but do have limits. Same thing applies to other portal products, such as Websphere Portal, Tibco, etc. As a developer, you can always extend these parts just as you would in any other platform...but of course, it isn't something Sally from accounting can do.
* Mysterious errors usually come back to poor administration or poor governance - you would have the same thing if you didn't know how to properly administer Apache, Tomcat, or any other number of complex applications or platforms.
* Yep, vendor lockin sucks and it sucks about MS. But if you are an MS shop, it works pretty damn well. If you aren't, you probably weren't considering Sharepoint anyway, were you?
So basically, yes, if you don't take the time to learn and adequately use, administer, and deploy, it isn't going to be easy to work with. Don't get me wrong, it has its problems and I'm not saying it is easy but I can't say it is any more difficult than any other application in its class.