Both editions index data in order to be able to retrieve it faster, for example, product pricing is stored in indexes so it doesn't have to be calculated each time it is needed.
Magento Community Edition does not provide partial indexing, so each time of indexing all data is reindexed, not just data which has changed, meaning it takes longer (sometimes MUCH longer depending on your server and number of products, categories, product data etc.).
Magento Enterprise Edition differs from Community Edition caching in that it offers full page caching, meaning the entire page is cached and so is able to be served faster and using less resources on your server.
Magento Community Edition does still provide some useful caching mechanisms such as caching layout and block and CMS HTML. It can also cache (and combine) javascript and CSS, as well as product images.
There are also some great free full page cache extensions you can use for Community Edition which actually provide faster caching that the Enterprise built in full page cache.
Take a look at Turpentine as an example of one:
http://www.magentocommerce.com/magento-connect/turpentine-varnish-cache.html
Note: These differences have changed considerably since 1.9 and this answer may no longer be fully relevant for Magento 2.x branches.