If you've never heard of SharePoint before, it can be surprisingly difficult to figure out what it actually does. Microsoft introduces it as a collaboration platform and a “new way to work together.” A passing glance suggests that you can use it to share documents and ideas, organize projects and teams, discover experts and insights, build apps and websites, and manage costs, risks, and time.
That's a very long list of features, one that you wouldn't expect from a single piece of software. And you'd be right. Because SharePoint isn't a piece of software. Sure, there's an out-of-the-box version, but almost anybody who's tried to use it admits that it's a terrible product.
No, SharePoint is really intended as a development platform. It's built to be customized and hacked to fit your needs by programmers, web developers, and IT professionals. And therein lies the problem. Because SharePoint fails as an out-of-box product, and fails as a development tool. This happens precisely because it tries to be too many things to too many people...