It's got nothing specifically to do with the DataGridView class. Update and Refresh are methods of the Control class, so all controls have those methods. To understand what they do, you need to throw the Invalidate method and Paint event into the mix as well.
With GDI+ in Windows Forms, controls are getting repainted on screen quite often. Each time, a Paint event is raised. When the state of a control changes, you won't actually see the change until the control is repainted.
The actual painting of pixels to the screen is quite slow and that's why you sometimes see flickering. For that reason, it's desirable to repaint as small an area as possible each time. The Invalidate method tells the control what area or areas it needs to repaint. If you call Invalidate with no parameters then the entire control surface will be repainted on the next Paint event. If you call it with a parameter then just the specified area will be repainted. You can call Invalidate multiple times per Paint event to repaint composite areas. The Update method forces all invalidated areas to be repainted immediately. The Refresh method simply calls Invalidate with no parameters and Update.
So, Invalidate specifies an area to repaint on the next Paint event, Update repaints all invalidated areas immediately and Refresh repaints the entire control immediately.
Now, why do you think you need to call either on a DataGridView? Normally you would only have to when you were doing your own GDI+ drawing and even then not necessarily.