If a product comes in a few different options—colours/material/finish are examples—then you should show this users on the search results. For example, users who are in the market for a blue sweater will be likely to pass by an image showing a red sweater unless there's a clear indicator that it is available in other colours.
The other option would be to have a separate product page for every variation, where they could all be viewed against each other on the search results. But be aware this could bloat your site with products to scroll through. I’ve also seen it cause confusion as users can end up comparing the same product against itself.
However if a variation in size or model means the product changes in price then it's usually a good idea to have a separate product page. This is better than displaying a range of prices on the search results, which makes comparison hard.