This happens on the browse page, where an add to cart link will only be displayed against those products that do not have attributes set, such as colour, weight or size. As the attributes require selecting on the product details page a "more details" link is shown instead, to send the shopper to the full product flypage where the shopper can make those selections and then add to cart.
It is possible to turn off all "add to cart" buttons on the browse page in VM configuration to keep the browse page consistent. (Deselect "Show the Add-to-cart Button on the product list?" in VM config /Site/Layout/Select the theme for your Shop/configuration/ )
There are hacks to force an add to cart button to display against all products on the browse page, but for those products with required attributes the shopper would be taken to the product details page where they are confronted with another add to cart button. This can cause confusion and possible loss of a sale.
More extreme hacks can be made to allow attribute selection and add to cart on a browse page, but as with all advanced hacks, this is not easy, requires knowledge of coding, and is difficult to maintain through software upgrades.
Note added September 2012: See
http://forum.virtuemart.net/index.php?topic=107939.0