В БЭМ вы можете быть уверены, что не перекроете какой-либо класс написанный ранее, чего нельзя сказать об обычном каскадном подходе.
А так же можете перемещать свои элементы не залезая в CSS файл и не переписывая наследование.
Разумеется все это накладывает ограничения и из-за длинных префиксов код становится громоздким. Зато проще работать в команде, проще поддерживать сотню CSS файлов.
Если вам не нравятся длинные префиксы можно использовать старый подход к БЭМ. В простых проектах я делаю так:
Все глобальные классы начинаются с префикса "b-".
.b-topic { }
.b-topic .title { }
.b-topic .text { }
.b-topic .text a { }
Тем самым, мы не перекроем в каскаде какой-либо глобальный класс, который мы можем случайно наследовать.
Например, если бы я использовал в коде ".title { }" для задания стиля основных заголовков, то ".b-topic .title { }" наследовал бы этот стиль. Что бы этого не произошло, для глобальных классов нужно ставить префикс... ".b-title { }".