Denim's dye typically sits on the surface of the yarn and wears/fades with use; leather's colour depends on the hide, tanning process and any applied finish — both are naturally more variable, piece to piece, than a printed or solid-dyed fabric.

Denim dye typically sits on the surface of the yarn rather than through it, which is why denim characteristically fades and lightens with wear — this piece is a deep, minimally faded wash.
Photo: “Jeans Texture” by Gaurav Dhwaj Khadka, CC BY-SA 4.0, via Wikimedia Commons.
Practical advice
Treat a denim or leather colour as a direction rather than an exact match, and compare the specific piece in person before assuming it matches a swatch or photo.
Always confirm with the physical garment under real light before committing to a colour choice — see methodology.
Classic denim is a twill in which only the warp yarns are dyed with indigo and the weft stays white; indigo also clings mainly to the outside of each yarn, leaving a pale core. The blue you see is therefore a mixture of dyed surface, white weft peeking through the twill and, as the fabric wears, exposed white core. Leather is different again: its colour is set by the hide, the tanning chemistry and any surface finish, and aniline leathers show the natural variation of the skin. In both, colour is a structure that changes with use, not a fixed coat.
Wear and care: Abrasion strips indigo from high points such as knees, seams and pocket edges, which is how fades and whiskers form; leather darkens with oils and handling and may fade in sunlight, especially if it has no pigmented finish.
Sources: Denim; Tanning (leather)