Cuando necesitamos incluir un objeto HTML externo incrustado en una página podemos recurrir al tag IFRAME.
Si el objeto que necesitamos incrustar es un SWF se suele recurrir a OBJECT y EMBED.

Antes de seguir, es bueno recordar la historia de los elementos IMG, EMBED y OBJECT.

OBJECT como sustituto de IFRAME

Con IFRAME podemos embeber un tipo de documento HTML. Pero si atendemos a la definición de OBJECT veremos que podemos embeber varios tipos de documento como: HTML, SWF, VIDEO, IMAGEN (ver ejemplos).
Teniendo en cuenta lo anterior, IFRAME puede verse como un TAG redundante.

Por otro lado en la versión XHTML Strict, el DTD no admite el tag IFRAME. Al fin y al cabo forma parte del pasado y la W3C siempre ha recomendado el uso de un OBJECT para incrustar los diferentes documentos, tanto si es vídeo, como imagen, como una página html.

Además hay que tener cuidado con IFRAME en Firefox, generado de forma dinámica podemos tener problemas (Bug 279048).

IE como de costumbre va contracorriente

Si usamos OBJECT en Internet Explorer, debemos tener en cuenta que no reconoce el atributo type.