Service Worker sind Scripts die separat von der Website und im Hintergrund des Browsers laufen.
Grundsätzlich werden folgende Features mit Service workern realisiert:
Service Worker und PWAs sind keine unterschiedlichen dinge man muss an sich nur verstehen was mit PWA gemeint ist.
In PWAs stellen Service Worker nämlich den Kern dar.
Der Service Worker ist hier für Techniken wie resource-caching und Push notifications verantwortlich.
Kurz gesagt ohne Service Worker würde das ganze Konzept einer PWA nicht funktionieren.
PWA steht für progressive Web Apps an sich handelt es sich bei der Definition PWA um ein Feature Set.
Die Features die in PWAs definiert werden sollen Webseiten die Möglichkeit bieten sich mehr wie native mobile Apps zu verhalten.
Das Progressive in PWA steht für "Progressive enhancement", das heißt, man kann sich aussuchen wie viele und welche Features verwendet, man muss nicht alle Features aber man könnte es.
Somit sind Webseiten, die nur von einem der Features gebrauch machen auch progressive Web Apps.
Google Workbox fungiert als kleine Library um das Caching mit Service Workern zu vereinfachen.
Es gibt hier mehrere vorgefertigte Methoden oder "Strategien" wie man cachen kann.
https://developers.google.com/web/ilt/pwa/introduction-to-service-worker-slides
https://developers.google.com/web/tools/workbox/
https://www.udemy.com/tutorial/progressive-web-app-pwa-the-complete-guide/what-are-progressive-web-apps/