The SharePoint platform is extensive, but it is generic. When development becomes necessary, we obviously use .Net development tools (which is the language with which SharePoint was built).
Over the years, we have acquired an expertise in .NET development, particularly as it relates to developping in SharePoint. The dynamic in SharePoint is very different; it involves interaction with a platform to allow you to go further rather than starting from scratch. We must simply pull the puppet strings in order for the platform to work for us.