The key aspect of COM is that it enables communication between clients and servers through interfaces. Information about these interfaces is usually included in a type library.
COM allows you to create COM objects that are not specific to any language, and in some cases, even platforms. For instance, COM objects can be ported to a Unix system. COM also allows you to create COM Objects that will be instantiated on a different machine across the world if you so desired.
Although often associated with Microsoft, COM is an open standard that specifies how components work together and interoperate.

