Question: Would a CalDAV server provide faster syncing than .ics files? Specifically for iOS and Google Calendar. I realize the client is responsible for updating and frequency.

Many posts indicate Google Calendar is slow to update .ics feeds. I tested and after 6+hrs, it still hadn't updated the changes I made to the .ics file.

Same issue with iOS. Initial load of the .ics file loads the calendar fine. But after changes to the .ics file, iOS never makes another request for the file again for days (watching apache log file).

I'm trying to share a calendar feed. I only need to post the calendar (read-only). I don't need the user to make changes. .ics seems easier than running a full CalDAV server. If I do, is it worth it? Will it sync to Google Calendar, iOS, and other clients quickly (minutes, not days)?

Answer: 
CalDAV is a better choice if your data changes quite a bit anyways. It'll only send changed data (instead of the full calendar), which is particularly important on mobile devices. (you don't want to sent a full 1MB calendar to the client just because a title of a single event changed ...)

For webcal, checkout this one: [Set Update Limits on iCalendar Feed](https://stackoverflow.com/questions/538081/set-update-limits-on-icalendar-feed). You might want to try the REFRESH-INTERVAL and X-PUBLISHED-TTL properties on your calendar.
I suppose if you don't have such, clients will fall back to the weekly refresh ...

Having said that, CalDAV updates should definitely default to faster refreshes (like 15 mins instead of a week?).

For essentially instant refreshes on iOS/OSX, use either iCloud or OS X server to host your calendar. Changes to such will be pushed to the devices via APS.

Maybe it's also worth noting that you can host subscribed/webcal calendars within a CalDAV account. And configure the refresh settings of such via WebDAV properties.

The right approach depends a little bit on what you actually try to achieve ;-)

P.S.: All this doesn't help you with Google calendar clients as they don't support CalDAV in the first place ...
Normally, a .ics file is for importing static data into a calendar. I wouldn't expect to use a .ics file if the entries are going to be updated and need to be pushed to the client. Think of it like a snapshot.

CalDAV is a lot more sensible here: it's a whole protocol for sending and receiving updates.