MEF позволяет проектировать систему, которую можно расширять.
По моему опыту, вы можете проектировать интерфейсы, создавать библиотеки, содержащие реализации этих интерфейсов, и загружать их динамически во время выполнения... Вы также можете определить, как эти расширения должны быть загружены - в том же домене приложения, или в новом, и т.д. Вы можете указать ему на каталог и сказать, чтобы он получил все реализации определенного интерфейса и загрузил их для использования в вашем приложении".
Итак, поскольку вашему приложению не нужно знать все свои возможности заранее и оно может загружать их динамически, вы можете сказать, что оно "расширяемое".
В качестве альтернативы существует также MAF, Managed Add-in Framework, или пространство имен System.AddIn в .NET. Она частично совпадает, но больше ориентирована на модель Add-In или Plug-in. В нем есть функции для управления версионированием и обеспечения обратной совместимости между хостами и дополнениями с разными версиями интерфейса.
Чтобы начать работу с MEF, я думаю, что лучшее место, вероятно, здесь: http://www.codeplex.com/MEF
Там есть много информации по началу работы, документация и даже форум...