What is it? As I understood it's a kind of Microsoft special technology for some objects. But what exactly?
It's basically an old technology used for writing programs in the Windows environment. It's big and complex and wasn't enjoyable to manage/support. The .NET framework is its replacement.
A COM object is basically a black box that implements some known interface. It can also register itself with Windows so that programs can get a hold of it.
For example, let's say there is some interface
ICalculator, that I write my program to use. I can now swap in any object, written in any programming language (since it is a binary interface) that implements
ICalculator. Then at runtime, I can provide some sort of option to my users so that they can choose to use the
FooCorpCalculator COM object, written in Python, or perhaps if they need more speed they can choose a
NinjaCalculator written in C. The point is, I write my program to depend on an interface, not an implementation, and then choose to use the actual COM object that implements the interface later.
There's a lot more to it, of course, but that may be an example that makes it more concrete for you.
See this Wikipedia article: Component Object Model
Component Object Model (COM) is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages. The term COM is often used in the Microsoft software development industry as an umbrella term that encompasses the OLE, OLE Automation, ActiveX, COM+ and DCOM technologies.
COM is set of Windows-specific technologies to enable code reuse and interoperability, primarily at the level of the binary (not necessarily at the level of the source code).
In the early 1990s Bill Gates didn't permit that the Powerpoint development team implement an own charting subsystem for the Powerpoint product, because Microsoft already had Excel. So they developed a specification to enable their in-house products to exchange data and call each others functions. Microsoft generalized these APIs, published them and a lot more code design guidelines.
See this video from 2006: Tony Williams: Co-inventor of COM
I think, that now in 2012, COM is still at the core of WMI and Office.