A color profile is an absolute color space. In addition to defining the rules for mapping colors to numbers, it also defines absolute numerical values for all colors of interest.
Physical devices like displays, printers, scanners or digital cameras need the reference point provided by a color profile in order to exchange information about colors in a predictable way.
Some file formats (for example JPEG) are capable of storing a color profile together with an actual image. But this is not always the case. Many image formats - icons (.ico), cursors (.cur, .ani), or pictures (.bmp, .png, .tga, ...) - do not have a standardized way storing a color profile. Even many .jpg files do not actually have a color profile, because the author of the picture did not care to assign one.
There are also situations, where having a color profile is not practical. For example when only handful of color needs to be specified. When choosing background and foreground colors of a web page, people in general pick the colors from a palette they see on a screen. The colors they see on their own display may look differently on another display if the displays are calibrated differently or not calibrated at all.
sRGB is one of the color profiles using the RGB color space.
sRGB is an attempt to bring some order to the world of colors lacking an explicit color profile. It is a color profile that approximates a typical PC CRT (sRGB was created in 1996). Hence, if you have a picture that you have created on a computer with a CRT, it roughly fits the sRGB profile.
sRGB does not cover all visible colors. It was designed to be conservative so that a large amount of devices can claim compatibility with sRGB. The picture below demonstrates what color of all the visible colors are part of sRGB. The triangle encloses the colors that belong to sRGB; the whole picture shows all visible colors. (Because you are viewing the picture on a sRGB device, which cannot display colors outside of sRGB, I had to scale the colors to demonstrate there are colors outside of the sRGB and how would they look like relatively to the sRGB colors.)
sRGB has become a de facto standard for the web. If you are publishing your pictures on the internet and if you care about the experience of other users, you should always use the sRGB color profile with a calibrated display. Since it is more or less a standard, the browser will assign the sRGB profile to any picture without an explicit color profile.
If a printer encounters a picture without a color profile, it assigns a sRGB profile and converts the color to its own color space before printing.
Due to the nature of CRTs, the scale from 0% to 100% of light intensity is not linear, but is described by a power function with an exponent of 2.2 (except near the black color, where it is linear). This number is usually called gamma correction.
The LCD panels have different physical properties than the CRTs. Cheap LCDs are usually very far away from the sRGB standard.
People, who intend to create graphics for others, should obtain a calibrated LCD.
AdobeRGB is another color profile using the RGB color space. Unlike sRGB, it covers a larger portion of the visible colors. On the other hand, given the same bit-depth, there are larger gaps between the individual colors. This means that gradients are less smooth.
RealWorld tools are focused on the sRGB color space and optimized to give best results with gamma set to 2.2 (this can be changed in the application options). If an image in an incompatible color space is opened, it is converted to sRGB. Prior to version 2011.2, images in other RGB color spaces were not converted to sRGB and the color profile was maintained. Since version 2011.2, images are always converted to sRGB for best results on the web.