Critical section uses a shared variable so any case you have multiple threads writing to a variable you should have a critical section, it’s very general. I don’t have much experience with reduction but it seems geared towards all loops preforming the same function as part of a larger function and they take approximately the same amount of time to complete plus are expected to start and end together. Something like parallelizing an integral by spliting it into ranges would be simpler with reduction. Also if the threads need to read and write to the global, seems like that would need a critical section.
Not really a new thing for them, they’ve been trying to milk r/place since the first one. The last time they let it run too long as well, it needed to be like a 1 or 2 day max thing not a week