Why it looks the way it does
GIF stores at most 256 colours per frame, chosen from a palette. Its LZW compression is lossless, but only after the image has been reduced to that palette — and that reduction is where the damage happens.
A photograph contains far more than 256 distinct colours, so converting it means quantising: picking a representative palette and mapping every pixel to the nearest entry. Gradients become bands, and encoders add dithering — deliberate noise — to disguise it, which is why old GIF photographs have that characteristic speckled look.
For flat graphics with few colours it works perfectly, which is what it was designed for in 1987.