What is PGM?
PGM is the greyscale member of the Netpbm family: a three-line header, then one brightness value per pixel with no compression. It is what image-processing courses, OCR pipelines and computer-vision tools pass around when they want a format with no decoder in the way.
What is PPM?
PPM is a Netpbm image: a tiny text header giving the dimensions, then raw pixel values with no compression whatsoever. Almost nothing displays it, which is rather the point - it is what image-processing code and academic tools emit when they want to be trivially readable.