Correct way for Attributes in Commerce I am building a small web site which offers photography services. So, basically, I offer some services and these services do have some additional options (attributes). For example, service:


Single product on photo
Group products


And attributes:


Delivery: standart or rush (+$5)
Background color: white or black (+$1)


I found at least three ways how to add attributes, but a little bit confused which way is correct.


Using Taxonomy: Drupal Commerce - Product Attributes.
Using the Commerce Pricing Attributes module:


Drupal Commerce Pricing Attributes Module Installation and Configuration.
Drupal Commerce Tutorials - Products With Attributes.



My question: which way is correct and better for me? I like the Commerce Pricing Attributes module because it is more understandable, but as we can see this module is not very popular.
There are always different ways to do things in Drupal. Drupal Commerce (DC) is the shining example of this. DC allows for project attributes out of the box using fields on product types that are set to be attributes (this creates an AJAX field as a select option in the add-to-cart form). This is an example of attributable fields. You will notice the price and the photo changes when you change the video type. You can also handle some attributes with line items added to an entire order (this is how shipping is done). If you have global attributes, the best way would be a line item added to the entire order.

You list delivery and background color; I am going to assume these would be global attributes that would apply to any order in your store. These would be prime candidates to use line items added to the order. But this also depends on how you are going to allow your customers to purchase products. 

I would need more infomration about how you want to setup your shopping experience to be able to completely answer the question.

DC is an extremely powerful and flexible shopping cart. But it is complex.