The difference between attributes and properties is rather easy:
There might be grey areas where it's not so clear if you should use attributes or properties. Then, prefer properties over attributes if you don't need it to build facets for performance reasons. Attributes are referenced in the mshop_product_list table and so are media, texts, prices, etc. If you have millions of entries in the lists table an only thousands in the mshop_product_property table, then your performance might be lower than in could be due to MySQL selecting sometimes the wrong index.