CGROM stands for Character Generator ROM.
The CGROM stores the font that is displayed on a character LCD. When you tell a character LCD to display the letter ‘A’, it needs to know which dots to turn on so that we see an ‘A’. This information is stored in the CGROM.
By definition, (since it is a ROM) the font that is stored in the CGROM cannot be changed. Be sure to check the datasheet of the character LCD module to make sure that it can display the characters you need.
Typically a CGROM for a character display module has 240 characters defined. The lower half of the CGROM maps to the normal ASCII characters. Since the early character display controllers were designed in Japan, many CGROM have Japanese characters in the upper 128 positions. There are also some CGROMs that have European or Cyrillic characters in these upper locations.
The WS0010 is a more modern character OLED controller, and the designers have included several CGROMs that can be chosen at run-time, so there is not the need to lock in a particular character set at design time.
Since the CGROM is completely determined at the time of manufacture of the LCD controller, the designers also included a CGRAM, which allows the bitmaps of a few characters to be redefined at run-time.
This term very likely has its beginning in the granddaddy of all LCD controllers, the venerable Hitachi HD44780).