IP Cores are Intellectual Property Cores. They are blocks or modules that have been designed and tested for a specific function such as processors, ethernet interfaces and RAM controllers.
Soft IP cores are in the form of HDL and typically have some kind of license associated with them (GPL or proprietary). Hard cores are synthesized blocks that can be instatiated, placed in your design.
The Xilinx specific cores from Xilinx cost money:
http://www.xilinx.com/ipcenter/index.htm

You can find free IP cores on sites like Opencores.
http://www.opencores.org/