Salesforce is an online CRM tool and development platform. From a programmer's point of view, it essentially includes the full stack from database to UI, but the API can be used to allow external programs to access its data.
That said, as a development platform, Salesforce is definitely a second-class citizen to being a CRM, and I wouldn't recommend using it unless you need a very specific type of application.