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.
Hope this helps,
- JW