The other post, was partly correct. It really depends on the kind of printer. For a dot-matrix or ink jet, it's used for buffering to speed up printing, but on a laser printer, it's a different story. Most laser printers have their own processor to "render" the output, so like a regular computer, it too needs RAM to have a "place" to work with.
I guess you're right, what most people have are inkjets, but then again, the question seemed pretty general. Anyhow, I had like 8 years ago a Panasonic KX-1123 dot matrix and if I recall correctly, it had maybe 16Kb of "RAM" if you could call it that. Just a small buffer so it wouldn't pause after each pass, at least not as often.
Dot matrix: Yes almost all dot matrix printers have/had 8/16/32 or 64k of memory as a buffer.
Laser: Laser printers must print the whole page in one "pass" so they must have enough memory to process and hold the entire page in memory. Example: 600dpi and a 8" by 10" printing area gives you 4000*6000 dots or 24,000,000 dots. If each dot is represented by one bit then you need 3,000,000 bytes (3 MB)(8 bits = 1 byte) of ram just to hold the image in memory, not including what the printer needs to process it. I have 14MB of ram in my HP LaserJet 4+ which I find I need to print complex images.
Inkjet: There are two kinds of inkjets: "dumb" or "host" printers which use the computers cpu and ram to drive the printer, and "smart" printers which have their own cpu & ram and speak "languages" such as postscript, PCL, and HPGL. On these "smart" printers you need more ram to print larger and more complex pictures. I have a "dumb" HP DeskJet 722C with 512kb and a "smart" Deskjet 1220Cxi with 8MB of memory. The 8MB lets me print 13"x19" 2400x1200dpi posters.
So the more memory you have in your printer the more complex an image it can print. Some newer printers use data compression in memory so they don't need as much.