As a member of BEM team at Yandex I want first to thank Martin Muzatko for such a great comment!
BEM is much more than just a solution for scoping in CSS. First of all it's a way to make your code self-descriptive and predictable. And for sure it covers all the techs not just CSS. As a result BEM gives quite a lot of advantages in a long run:
- It's an architecture pattern. No need to reinvent a wheel each time.
- Keep everything consistent and familiar for all the devs on a project. And so on. Please take a look at en.bem.info/methodology/solved-problems for more info.
And even speaking only about CSS there's much more then just namespaces for elements. Modifiers give possibility to express state of a component without copy/paste and easily toggle it in JS. Mixes keep markup clean from extra DOM nodes and still having properties of all the components needed. There's also very powerful concept of Redefinition levels and a lot of special tooling.
BTW, there's no problem to express all the BEM things (blocks, elements, modifiers and mixes) via data-attributes.
Consider data-ui="form" to be a declaration of form block in your case.
Remember that class is also just an attribute after all ;)
Still switching to data-attributes will be a bit strange as all the other parts of the site use classes.