В EF4 он используется в основном для возвращаемых значений из хранимых процедур, которые точно не соответствуют существующей сущности в вашей модели. См. Сообщение в блоге Джули Лерман Большой шаг для хранимых процедур в EF4 по этой теме.
Если у вас есть сохраненный процесс, который возвращает, например, CustomerID, CustomerName и общий объем продаж для этого клиента за прошлый год, и у вас нет ни одного объекта, соответствующего этим трем полям, вы можете легко создать новый сложный тип в модели объектов "на лету", чтобы получить эти значения наборы, возвращенные из вашего сохраненного процесса.
Это, пожалуй, самое полезное и наиболее распространенное использование сложных типов, насколько я могу судить.
Подробнее о сложных типах EF4 см. В блоге Джулии Лерман: Сложные типы в EDM Designer в EF4 и обзор обновления сложных типов в коде
ОБНОВЛЕНИЕ : есть новая интересная запись в блоге команды EF4 о том, как "прослушивать возвращаемые типы хранимых процедур" и как использовать автоматические сложные типы для этих возвращаемых типов.