Since upgrading to iPhone 4S and using iCloud, I have eliminated the duplicates in the address book, but not the calendar. Once all devices were setup for iCloud, I had duplicates in address book and contacts on my iPhone. So in settings on the iPhone for iCloud, I turned off calendar and address book. After a few minutes I turned those back on. Then, it synced with iCloud and no duplicates. At least in address book. The calendar continues to display duplicate appointments.
It's frustrating. Maybe all of us Apple users just don't know how to do this corectly. But it seems like a bug. Otherwise, why not address the confusion in the marketplace and post online training for how to sync all your devices without creating duplicates. Since that solution/training has never surfaced, I say this is a long standing bug in the system and Apple has never figured it out. It remains one of the few complaints I have about Apple. Wish they would get it right.