Variations in manufacturing can lead to parts that act slightly different. Component matching cost more, and even then, a given batch is not tested 100%. A statistically significant portion of the batch is selected, pass/failed based on target specs, and then labeled according to actual performance.
This happens with pretty much all types of devices. Some, like resistors, are more obvious. They come with certain tolerances, the average resistor being within ± 10% of it's given value (so your 220Ω resistors might be between 198Ω and 244Ω), with more expensive ones coming in ± 5/1/0.1%. Leds are just as likely. You will find that led drivers (Like the TI TLC5940) have options just for this situation, called Dot Correction. From App Note: TLC5940 dot correction compensates for variations in LED brightness
Dot correction is a method for managing pixel brightness by adjusting the current supplied through each individual LED in the array. The dot correction feature enables the processor to control full current to a panel of LEDs while the LED driver scales the current to each LED and creates uniform brightness. ... To implement dot correction, manufacturers measure the brightness of individual LEDs through photo capture. The dimmest LED in the system is designated as the “base” LED to which every other pixel is matched.
That different led could be a outlier in a single batch, come from a different batch, come from a different factory or come from a completely different manufacturer. Part matching needs to be done if a specific brightness is necessary. Binning is one method (Making sure that the Manufacturer gives you only leds that are paired) but it is not always the best in high led count. Dot Correction is the next method. And simply eyeballing it is the next. That App Note has some good information on this.