On low powered devices, ebtables can make a big performance hit. On the wrt series, not a big deal.
I find layer 2 to be much more reliable, but relayd is simpler to setup (and doesn't require kernel patches).
To be honest, i moved away from it because i didn't understand the patches. I'd now come at it from a different perspective. I'm considering adding it in as an additional option so Gargoyle users can choose to create either a layer 2 or 3 bridge (or pseudobridge).