Salesforce has already provided prebuilt application such as workflow, approval process, process builder etc for the CRM functionality. It may be possible that the Organization has much more complex business requirements which cannot achieve by current prebuilt applications. When it happensthe Force.com platforms has following ways for developer to build custom functionality.