Сделать разные классы типа .rate__title, .goods__title, .review__title - нормально. Если у них есть общие свойства, их можно вытащить в миксин, оставив классы независимыми. Уверен, что у них будет что-то общее, но найдутся и различия. То есть совпадение не будет на 100%.
Впрочем, вариант с миксованием универсального "заголовочного" блока тоже вполне норм (если они действительно одинаковые). Я как-то делал класс .heading с модификаторами вида .heading--1, .heading--2 и пр. Потому что как это ни дико звучит - визуальный уровень заголовка не всегда совпадает с его семантическим уровнем.