Why can't we schedule a dentist's appointment with the dentists' computer, while avoiding conflicts with work events and home events? Calendaring software has existed for at least a decade, yet the tools to let my calendar talk to the dentist's calendar have been a long time coming. Why is that, you ask?
The answer, I feel, is two-fold:
First, calendaring is more complicated than it looks on the surface. Timezones, for example, are a huge complication, especially for people who have meetings in zones other than where they live. Describing recurring appointments in compact way is another.
Secondly, all the people who have developed this kind of software have done it more-or-less in isolation. That means that there are a lot of different ways of doing things, and making them work together means finding some common ground. There are some standards (see http://www.ietf.org/rfc/rfc2445.txt?number=2445, http://www.ietf.org/rfc/rfc2446.txt?number=2446) but implementations of the standards differ. And all of the vendors of commercial software, of course, want their implementations to be accomodated in any interoperability scheme and they are sometimes intractable about what concessions they'll make.
How do we get this fixed? I think that it's going to take a lot of concerted pressure from users of the various calendaring products. Demand that your calendar be able to work with your friends', clients', customers' or suppliers' calendars, not matter what they use. Try not to buy calendar software that limits you (vendors react to the money thing more than just about anything else). Make it clear that a working calendar doesn't just keep track of your time, but enough of everyone else's, too, to let you schedule things smoothly.