Have a very naive question on Salesforce..How is a CRM software like Salesforce able to cater to all different kinds of customers off the shelf? For example its customers will have different database schema to be stored and different requirements/processes/workflow…How can we assume that different companies work in the same uniform way?.
Salesforce, as a CRM, has a lot of things going for it. It's not true that Salesforce can cater to all kinds of organizations out of the box, but it can accommodate many of the standard business models out there, either by enabling additional features, customizing standard features, installing packages from the AppExchange, developing custom code to accommodate business rules, and/or the ability to integrate with many different types of external systems, like inventory management, order management, customer support sites, etc.
The main power of Salesforce is that you can customize hundreds of standard options, enable dozens of extra options (many at no cost), and build almost anything you can envision. There are still some really weird edge cases out there where Salesforce simply may not be the appropriate solution for an organization, but those edge cases are exceedingly small. Most businesses do things more or less the same way, and Salesforce has been engineered to support as many standard business models as possible.