Разница, вероятно, скорее в цели, чем в реализации. В некоторых случаях составной шаблон предпочтительнее подкласса. Например, вы можете добавить функциональность, которую вы хотите иметь для класса, добавив в него экземпляры других классов и затем выставив эту функциональность через интерфейс пересылки.
Декораторы позволяют вам прозрачно добавлять функциональность, обычно единственную, в класс без клиентов, для которых экземпляры класса должны знать, что там находится декоратор - например, декоратор login_required для представления в Django Вызывает исключение, если пользователь не вошел в систему, но в противном случае представление ведет себя так, как без декоратора.
В обоих случаях у вас есть один объект, встроенный в другой, но то, что вы пытаетесь достичь, возможно, отличается.