[SystemVerilog] Difference between `wait(cb.signal == 1'b1)` and `@(cb iff cb.signal == 1'b1)`

AFAIK, both do the same thing. Others can correct me if im wrong.