Crawling is where search engines spiders / bots move from web page to web page by following the links on the pages. The pages "found" are then ranked using an algorithm and indexed into the search engine database. Crawling is when search engines view your website and try to find the depths of it or understanding the hierarchy of your website.
Indexing is where search engine has crawled the web and ranks the URLs found using various criteria and places them in the database, or index. It's like in the library, if there's a new book, before the librarian put it in the right shelve, they create an index of it first
Caching is where copies of web pages stored locally on an Internet user's hard drive or within a search engine's database. " Cache is a more techy term, as it is a temporary store of your website. Google updates their cache on timely basis, depending of what you have indicated in your sitemap.xml