Moz browsers need <embed>, IE and others, <object>. But IE will display <embed> too, putting two on the page.
The "old school" method of cross browser support is to include the embed tag inside the object tags, like
<object>
.....
<embed>
</object>
This is how Macromedia and Adobe "publish" the code to this day.
Unfortunately, it's invalid HTML.
The most graceful way I've found, and will allow you to validate: swfObject [code.google.com]. Simple to implement, it displays alternate content first so if JS and/or Flash is disabled, you still get a layout and content. If enabled, swfObject writes the Flash to the element. Best of both worlds.