iCloud functions as a CalDAV server where all calendars are hosted. Each Mac and iOS device (iPad, iPhone, and iPod Touch) functions as a CalDAV client and subscribes to the calendars hosted on iCloud. Once subscribed, calendars can be edited on any client and the changes will sync to the host and to all other clients.
All calendars you wish to sync between your Mac, iPhone, and other users, must be hosted on iCloud.
For best results, you should do all of your calendar sharing through iCloud.
You can share calendars with others through iCloud. This is an ideal method of sharing calendars, especially if you have users in different locations, need to sync your calendar while traveling, or have an iPhone. It enables each user to make changes on any computer or device in any location, and those changes will sync to all other users and devices through the cloud.
To learn more about sharing calendars on iCloud, see:
If you have calendars hosted on both iCloud and Google, you can configure BusyCal and the iPhone to subscribe to both services.
In this example, there are some calendars hosted on Google and some calendars hosted on iCloud. BusyCal is subscribed to the calendars on both services, and the iPhone is subscribed to the calendars on both services.
To sync BusyCal and the iPhone with both iCloud and Google, see: