It does not seem that Drupal Commerce currently allows you to have multiple products per "add to cart" form.
This is sometimes known as product "kits" or "grouped products" in other e-commerce systems. Ubercart allowed some simulation of this through attributes and options.
My use case:
An art studio with custom picture framing for prints
The attached screenshot tells it pretty well. That was how I implemented it in Ubercart, and using uc_cano and some custom coding, it worked. But it "just barely" worked, and in the interest of stronger foundations and forward-compatibility, I'd like to re-implement in Drupal Commerce.
This is a case where the number of combinations is massive, and granularity with images and prices for each combination is not required. So this would be better represented as a group of products of different types than a single extremely specific product.
Across-the-board changes (say, adding another frame class or increasing an existing one's price) would be much simpler.
With the separation of product entities from the nodes that present the products, adding fields for each product type seems easy.
Dependent attributes are handled nicely currently by the product-per-combination system, but something else would have to be engineered to handle it with multiple products of different types. Maybe a set of rules associated with the node type?
Line-items would have to accommodate groups/kits/bundles/whatevers of products, which may or may not be tricky, as I don't know much about how they work.
Total price would need to be calculated and kept track of like it is in Ubercart.