Why your Google Calendar subscription isn't updating
Google Calendar refreshes subscribed (URL/ICS) calendars on its own schedule, roughly every 12 to 24 hours, sometimes longer. There is no button to force a refresh. If the events in the source feed are correct and your subscribed copy is stale, the delay is almost always Google's refresh cycle, not the feed.
Work through these, most likely first
1Google's refresh interval (the usual cause)
Google fetches subscribed feeds in a background queue you cannot control. Changes appear when the next fetch happens, up to a day later, occasionally more. Removing the calendar and re-adding the URL forces one immediate fetch, but you lose any color and notification settings and the wait starts over for the next change.
2You edited the source but it published nothing
Check the feed itself before blaming Google. Paste the ICS URL into a feed viewer and confirm your change is actually in the published file. Many apps (school systems especially) stage edits and publish on their own schedule.
3The feed URL changed or went dead
If the publisher rotated their share link, Google keeps showing the last copy it fetched forever, with no error. Confirm the URL still loads. If it does not, re-subscribe with the new link.
4Subscribed on the web, looking on the phone
URL subscriptions live in your Google account, but the phone app adds one more sync layer. In the Google Calendar app, check Settings and make sure the subscribed calendar is toggled on and syncing for the account you expect.
Rarer, but worth knowing
The 'broken pipe' feed. Feeds served without a proper Content-Type or with invalid ICS can be silently dropped by Google. Run the feed through a validator to rule out a malformed file.
Very large feeds. Feeds with thousands of events or very long recurrence expansions sometimes update erratically. Trim past seasons out of the source if you control it.
If you share calendars with a group, this delay is the argument for sharing a live page as well as a feed. A TangoHive share link shows changes the moment they happen in the browser, while the same calendar's ICS feed keeps Apple and Google in sync in the background.