Just came across this list of custmization best practices to follow in the CRM SDK 4.0.10.
Using Custom Entities and Attributes
ISV solutions can save data by using:
• Custom attributes on existing entities
• Custom entities
• A separate database
• Use entity rename to make system entities more meaningful
You should use a unique prefix for custom entities and attributes. For example, use an abbreviation of your company name to avoid conflicts with other ISV add-ins.
Microsoft Dynamics CRM ships with a sample configuration file in the wwwroot_Resources folder. To prepare for installation of ISV add-ins you should rename this file and then create your own configuration file. By doing this you will not confuse the sample UI changes with the UI changes you need for your customization.
ISVs should merge changes into the existing ISV.Config file and not overlay the existing configuration file.
When Do I Add vs. When Do I Customize an Entity?
You should customize a system entity, such as the account entity, rather than replace it because there are many built-in features that you would have to recreate. For example, the account entity has lookup fields to associated customers. You can use the entity rename feature to make the system entity more meaningful to your business.
When Do I Use a Workflow .NET Assembly?
Workflow rules cannot create an instance of an entity. You can use a .NET assembly to do this.
When do I use plug-ins vs. workflow?
For example, you must use a synchronous plug-in if you need to execute custom code immediately before or after the core platform operation executes and before the result of the operation is returned from the platform. You cannot use a workflow or asynchronous plug-in in this situation because they are queued to execute some time after the core operation executes to completion, and so you are not guaranteed when they will run. On the other hand, if you want to add custom functionality to Microsoft Dynamics CRM Online, only workflows are supported because you cannot add your DLL to the server.
You can read the entire article at: