Я не могу найти разницу между этими двумя селекторами. Оба, похоже, делают одно и то же, то есть выбирают теги на основе определенного значения атрибута, содержащего заданную строку.
Для [атрибут ~ = значение]
: http://www.w3schools.com/cssref/sel_attribute_value_contains.asp
Для [атрибут * = значение]
: http://www.w3schools.com/cssref/sel_attr_contain.asp