Lo que dijo Danielg es bueno. Yo podria agregar:
Si mira los videos sobre System.Addins, claramente están hablando de proyectos muy grandes. Habla sobre un equipo que administra la aplicación host, otro equipo que administra cada Complemento y un tercer equipo que administra el contrato y la tubería. Basado en eso, creo que System.Addins es claramente para aplicaciones más grandes. Estoy pensando en aplicaciones como los sistemas ERP como SAP (tal vez no sea tan grande, pero se entiende). Si vio esos videos, puede decir que la cantidad de trabajo para usar System.Addins es muy grande. Funcionaría bien si tuviera muchas compañías programando complementos de terceros para su sistema y no puede romper ninguno de esos contratos de complementos bajo pena de muerte.
Por otro lado, MEF parece compartir más similitudes con el esquema de complementos de SharpDevelop, la arquitectura del complemento Eclipse o Mono.Addins. Es mucho más fácil de entender que System.Addins y creo que es mucho más flexible. Lo que pierde es que no obtiene el aislamiento de AppDomain o los contratos de versiones fuertes listos para usar con MEF. Las fortalezas de MEF son que puede estructurar toda su aplicación como una composición de partes, para que pueda enviar su producto en diferentes configuraciones para diferentes clientes, y si el cliente compra una nueva característica, simplemente suelta la parte de esa característica en su directorio de instalación y la aplicación lo ve y lo ejecuta. También facilita las pruebas. Puede crear una instancia del objeto que desea probar y alimentarlo con objetos simulados para todas sus dependencias,
El punto más importante que me gustaría mencionar es que a pesar de que System.Addins ya está en el marco, no veo mucha evidencia de personas que lo usen, pero MEF está sentado allí en CodePlex supuestamente incluido en .NET 4, y la gente ya está comenzando a construir muchas aplicaciones con él (incluido yo mismo). Creo que eso te dice algo sobre los dos marcos.