XMP is often viewed as plug n' play when overclocking memory. As is the case when overclocking other system components memory stability may not be achievable by simply enabling XMP.
XMP will have been fully qualified by the memory manufacturer. This testing is done on a sample of boards the manufacturer has in there possession and/or by machine testing. The motherboard manufacturer likewise qualify specific memory sets for motherboards using provided memory sets, board samples and design/test data. The following are important considerations to keep in mind when relying on XMP as an overclocking option:
Using XMP is not running the system at default stock settings. Any memory setting that differs from JEDEC or processor manufacturer specifications is an overclock.
XMP is valid only for the set of memory that is purchased. Mixing modules or combining kits results in the XMP profile being no longer valid.
Regardless of what may be assumed from marketing XMP does not guarantee automatic overclocking. The tighter the timings or higher the frequency compared to stock specifications the more likely chance there is that the user will need to manually make some adjustments for stability.
To increase the probability of XMP being successful and when overclocking memory in general purchase memory kits one or two bins lower than the maximum the motherboard is qualified for.
The biggest variable of XMP being successful will be the capabilities of the processor's IMC. As with CPU speed memory overclocking success will vary from one CPU sample to the next.
When enabling XMP it is normal and should be expected that the board will alter other settings as well as voltages. These changes are set up to accommodate the processors at the lower end of the lot sampled. Especially with voltages it is the responsibility of the user to change these values to amounts that suit the particular CPU and configuration being used. Below are examples of some of the voltages that were altered by enabling XMP. As can be seen this CPU requires considerably less IO, SA and Standby voltages for stability than initially set.
XMP enabled with IO, SA and Standby voltages adjusted to match the needed values for the CPU