I have download the ICM profile for my monitor but Windows XP shows me colors in a way, Firefox and GIMP in another.
So my question is what really is an ICM profile and how Windows and other application software manage it?
The color profile relates to the device, rather than to software.
The programs that display images need to take in account the Color space of the image. These spaces are aimed at specific devices. For example, the monitor can show a true black color (absence of all color), but not the printer. On the other hand, the monitor cannot show true white, just a very good approximation of white.
This means that interpolation is required when displaying on the monitor images that use a color space not very well adapted to monitors. And that's when different software starts displaying the same images differently.
As an illustration, this image demonstrates the difference between how colors will look on a computer monitor (RGB) compared to how they will reproduce in a CMYK print process: