XMP is an Intel tech introduction to automatically set DRAM to intended data rates over and above a base level (for DDR3 it applies to DRAM 1600 and up), DDR4 for DRAM 2400 and up. You enable the feature, it reads the profile off the DRAM sticks and applies it in BIOS.
DOCP (Direct Over Clock Profile), is from ASUS for AMD motherboards and came as the motherboard makers didn't want to pay royalties to Intel to implement XMP on AMD motherboards. It effectively uses the DRAM XMP profile to set up data rates and comparative timings on the AMD motherboards for a variety of data rates.
EOCP (Extended Over Clock Profiles) is Gigabytes version of the ASUS DOCP..
Within the last couple of years, more and more the AMD motherboard makers are simply moving to XMP as it's an industry standard and much easier to keep up in the BIOS than other methods with the proliferation of new DRAM, tighter timings, etc.