Also, the offer is open to any person. This is so that other people with copies of the program can fulfil their obligation by passing on the offer too. So maybe you make one GPL program specifically for Bill, you give it to Bill, and you write Bill the offer, never expecting him to care about the source code.
Six months later a teenager from a country you didn't know existed sends you an email - and the teenager would like source code please. They are legally entitled to that source code because of Bill's offer.
The written offer rule is deliberately the worst case. You should never choose GPL "written offer" with the expectation that this is reducing your work load or whatever, if you want least work just ship the source code with your program and fulfil the purpose of the GPL up front.