Naive Path tracer produces much darker images than Explicit light sampling
It looks like you're clamping all your samples to 0-1 in line 215. Apply clamping only when displaying the image, not when accumulating samples.