When Gnus is plugged, it is not efficient to download headers or articles from the server again, if they are already stored in the Agent. So, Gnus normally only downloads headers once, and stores them in the Agent. These headers are later used when generating the summary buffer, regardless of whether you are plugged or unplugged. Articles are not cached in the Agent by default though (that would potentially consume lots of disk space), but if you have already downloaded an article into the Agent, Gnus will not download the article from the server again but use the locally stored copy instead.
If you so desire, you can configure the agent (see gnus-agent-cache
see Agent Variables) to always download headers and articles while
plugged. Gnus will almost certainly be slower, but it will be kept
synchronized with the server. That last point probably won’t make any
sense if you are using an nntp or nnimap back end.