I'm a software engineer who works for Google who has worked on web tech for 25 years (hello NCSA and CERN). We went into this because a web dev on the team thought it would be a good solution, and put a bunch of work into it. After some time, we noticed that it added a ton of complexity and violated many of our core assumptions about how web pages work.
Note that service workers weren't really new when we used them, we deployed them carefully and with intent, with skilled developers.
Don't get me wrong- I like the idea behind service workers- I just found how they were implemented to be difficult.