Some b-brands are junk; not worth the price of admission. But I've also seen - and checked - a bunch of really good fakes, especially 'Blox' is so good that it passes almost every test that I can throw at it including aging in sunlight over long term exposure.
They're compatible enough so that they can be connected with lego pieces, but incompatible enough so that they shouldn't be connected with lego pieces. So we keep all the off-brand bricks in a separate boxes to avoid intermixing; you make a whole thingy only from lego bricks and a different thingy only from not-lego bricks.