Microsoft CRM SDK - this is software development kit with C# and partly VB.net code samples - it is supported by Microsoft Business Solutions technical support. It is based on web service calls, if you are C# .NET developer - you are excellently positioned to do this type of customizations. This is the preferred modification scenario and this should be easily upgradeable customization. VB.Net examples will be available soon.
Legacy SQL Data integration- This is also easy and safe. If you have SQL database, sitting on the same or linked SQL Server - you can create ASPX .Net application and simply integrate it into CRM. You can place it on the navigation bar or menu in isv.config - please refer to MS CRM SDK.
Legacy ASP integration - this is somewhat more sophisticated. You have to deploy HTTP handler to be a middle party between CRM which is .Net based and ASP which is legacy IIS. The trick is - you have to have INI file with security settings to penetrate into MS CRM with proper credentials, calling web service.
Microsoft Exchange Programming- Microsoft CRM has Exchange connector - which moves CRM incoming email to MS if it has GUID in its subject. You can alter this logic (for instance - move email to CRM if it doesn't have GUID but it is from the sender who is contact or account in MS CRM). Refer to MS Exchange SDK onsyncsave event handling. Then simply apply some MS CRM SDK programming - you need some COM+ objects creation and VB programming experience.
Direct SQL touch - in #4 above I described you the scenario with MS Exchange handlers - this would be ideal world if MS CRM SDK does the job. But - in real world this is not always true - you have to do direct flags correction in CRM database (like making Activity closed, moving email attachments/octet streams, etc). This is not supported by MBS technical support - but you can rescue to this technique if you have to get job done.
MS CRM Customization tool - this is rather end-user tool and we don't describe it here - read the manual. We've described above the options to use when this tool doesn't do the job.