Why do we need to continuously refresh a high resolution graphics LCD while we don't need the same for a character LCD?
All LCDs require refresh. On the character displays, this is usually hidden from you - you're not connecting directly to the LCD segments, there will be a driver chip intermediating. This can remember what the segments are supposed to be, because it's a relatively small amount of data. By comparison the high resolution graphics displays would require much more memory to store it themselves, so it's not done that way.

You can get small colour LCD graphic displays which take SPI input and have their own framebuffer memory to store what's being displayed. They tend to be much smaller e.g. https://www.adafruit.com/product/618