According to the Microsoft website:
SharePoint collaboration software helps simplify business intelligence, content management, search, and sharing for intranet and internet sites.
It is pretty useful for large enterprises which require a collaborative platform (read, team site/portal/workspace) that doesn’t need too much effort for deployment and maintenance. But if you are a software engineer trying to get his hands dirty with the nitty-gritty of things, it can get pretty bad. Like it happened to me: