As a Salesforce user, did you know that their solution relies on technologies used nowhere else (VisualForce, APEX, SOQL), requiring developers to learn its unique environment. How many APEX developers do you know compared to developers who know .NET.
Microsoft Dynamics CRM, provides familiar, widely used technologies (.NET, SQL, ASP.NET and Visual Studio) for developers. Relying on standard, widely used development technologies has important advantages. With Microsoft Dynamics CRM, current .NET developers need minimal retraining, and the knowledge they acquire is applicable to the Windows world in general. With Salesforce, however, developers must be specifically trained for the environment. This can make it harder both to attract and to retain developers.