fpga + dcm + dll
Well the pll's and dll's do many jobs in the FPGA or ASIC. They are used to multiply a clock frequency, divide it, provide a phase shifted version of a clock etc. and yes of course a very low skew clock o/p.
The frequency multiplication is must be achieved with the help of a high frequency oscillator inside(although no vendor tells how it is done !!!!!). The phase shifted clock can be used to interface with other components onboard, where you can just delay your clock by some time so that the trace length of the PCB will not add extra delay and your system be fully synchronized with respect to the main clock.
For the difference between PLL and DLL you can refer to any xilinx device user guide. Thank you.