Could someone tell me the difference between site: and cache: which should be used to determine if a page is indexed by G
Site: search in Google allows you to specify that your search results must come from a given website. Ex: [services site:google.com] delivers all the services results withing the google.com page. This helps to find out if the page is indexed by Google. cahce: Using this search option with your domain, you will see Google's cached version of that page instead of showing the current version.
The differentiate has already explained by australianseo so I would add a little more. You can use both of them to determine how your websites indexed / cached in Google but in different usage. site: You should use this to determine how many pages have been cached in "overall". You can also use this search feature to track whether if your overall indexed pages are increasing or decreasing either. cache: You should use this to determine how certain page has been cached. It could help you find the latest date it has been cached and perform a check on how frequent your certain page has been visited by Google, a good measurement on how well your deep link strategy if you check with your inner pages. The more frequent visits, the more important of the page.
site: - Gives you the info about all the indexed pages on Google for the given site cache: Screenshot taken by the bot during it's latest visit to your site.
site: This command gives a idea of which pages of your website index by Google. cache:It will tell you what Google bot actual saw when it Crawl your webpage and at what time and date it crawl.