Recently I've been asked a number of times what SharePoint development is and what the required skills are. I find that most people tend to assume it's about product functionality and working with out-of-the-box customizations with sites, lists, document libraries, etc.
Mike Fitzmaurice's Good "SharePoint Development" = Good .NET Development post and Gregory S. Macbeth's SharePoint Developers Road Map post provide some very good perspectives on what is required of SharePoint developers.