Causes every thread in the block to wait until they have reached this point. Worth reading a cuda primer for more details on blocks/warps.
Since the threads are relying on each other to fill the SRAM with all needed data if you didn’t wait then values would be missing.