Calendar currently allows for both downloading of ICS Export files and ICS Subscriptions URLs.
The calendar.export template function lets you export all or specific calendar events as an
ICS formatted file. This will cause the user to receive a file download dialogue, and allow them to import the event(s) into a calendaring app like Apple Calendar or Google Calendar.
Calendars include an option to share calendars with a publicly accessible ICS subscription URL, allowing users to subscribe (one way sync) their calendaring app to your sites' calendar(s). To enable this, click on the Share this calendar button next to the applicable calendar(s) on the list view of calendars in control panel. Once enabled, you can then copy the ICS URL and share it with whoever you wish (admins, show it publicly, etc).
ICS subscriptions currently do not work correctly for Google Calendar. The issue is that there's a "bug" or at least oddity in the way Google Calendar handles events with floating dates compared to all other calendaring apps. Google does not to conform to iCal standards for this for some reason and there isn't a way around it unfortunately.