Yep, they are extremely difficult. Timezones, group events, repeatable events. RFCs describing calendaring are very vague and miss a lot of important details. And exchange/outlook implementation adds a huge pile of incompatibility.
When I was working on calendaring project I've found lots of ways to create broken events in google calendar for example. They are completely valid according to RFC but absolutely not usable in apps.
Also there are working groups that STILL developing calendaring RFCs, they create tons of esoteric and cryptic documents every year.
P.S. When I write “RFC” I mean any well established standard.