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
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.