After a deploy, a cache flush or a save in the admin, the Cache Warmer requests each store view's home page, categories (the top levels first), CMS pages and best sellers once, one at a time, so the full page cache holds them before the first visitor. It goes through Varnish when the store has it or through Magento's own cache, waits while the server is busy, and gives up on a storefront that doesn't answer.
bin/magento zero:cache:warm on a store view: each page and how long it took.