Confusing user interface

I've always been puzzled by dialogs that have OK, Cancel, and Apply buttons. This has been pretty typical on Windows and relatively uncommon in decent Mac applications. If a preferences window has these 3 buttons, what do they mean? If I click some buttons, hit Apply, and then Cancel, do the changes take effect? If I click some settings, and click OK, but don't click Apply, do the changes get applied?

I would have thought that by Windows 7, this would have been resolved, but apparently not.

iChat2.png

I collect software and have seen lots of programs. I recently saw this in a Mac program.

Screen shot 2009-11-10 at 10.13.36 AM.png

Why this is in a Mac program, I have no idea.

After looking into this a bit, a friend pointed out that Xcode also has an Apply button. Furthermore, the Xcode Preferences is a window and windows don't normally have OK and Cancel buttons. So it looks like Apple needs to look at its developer tools.

XcodePreferences.png