Up until Tridion Sites 9.5 you could publish Components in two ways:
- Directly, if the Component has a "Dynamic Component Template." This is when you have a Component Template associated with the Schema for the Component and set to publish dynamically.
- Indirectly, as part of the rendered content or added binaries of a page or other Component Presentation.
A perhaps standard approach for Multimedia Components, especially for images, is to have them published indirectly. As long as they're linked to from another Component and your templates call
AddBinary(), the images will be added to the published transport package to show on your website. They aren't technically published in the same way as Pages or Dynamic Component Presentations, but rather appear in delivery with a count tracking how often they're used. When no longer in use, they're removed from delivery (rather than unpublished).
In your case when you want to publish a Multimedia Component's binary directly, you'll need to have a "Dynamic Component Template" as described by @Anand.
For more background on what publishes what, see my blog post describing the publishing behavior before Sites 9.5.
After Sites 9.5, you're able to publish (more) items without a Component Template if using the data publishing feature.