Since I have worked extensively on both the products, let me list down the key differences between the both: (context for both is cloud office 365)
SharePoint has got lists whereas Dynamics has got entities. Though both are very similar to relational database tables (Sql tables)
CRM: We can create different relationships between entities like 1:1,1 to many, many to many, etc. Example: an account(parent entity) can have a Subgrid section where all the related contacts(child entity) from the same account/organisation can be easily listed out of the box.
SharePoint: There is no out of the box to create relationships between lists. Though lists can be connected using lookup columns.
A dynamics CRM workflow can trigger on events like create, update, field change, etc.
Workflows here do not run on field change events for list items. An advantage here is we get out of the box approval workflows which I found missing in Dynamics CRM.
- Custom Code
The tool can be easily extended towards server side using Plugins. These plugins get deployed within the Microsoft CRM environment.
No server side code will be added within Microsoft SharePoint. Outside the SharePoint, server side code could be deployed on azure as web-hooks. Also as commented by Ole Albers, server side code can also be added to provider hosted Add-Ins. These solutions either get hosted on a private server or Microsoft Azure. Again the deployments are done outside Microsoft SharePoint server (Office 365)
- Document Management System
Dynamics CRM is not meant for these features. We can only upload documents as attachments to the notes on an entity.
Provides very powerful document management system as document library.
We can easily configure multiple mailboxes. Mails can be sent and received from external email engines like Gmail, Yahoo
SharePoint keeps the scope for emails limited to office 365 (OOTB)
- Security metrics
We can apply field level securities in entity forms. I just love this feature of Dynamics CRM :)
Talking about roles, users can be divided into business units, territories, teams. Again very mature approach
Either the entire form will be locked for a user or entire form will be editable.
Talking about roles, users can only be divided into groups.
I have tried explaining the key differences from best of my knowledge. Usually both the products are integrated and used. Once possible use case could be CRM as the content management system and SharePoint as the document management system.