Could someone please help me understand purspose of following folders under data sitecore folder:
Submit Queue
a. What's the purpose of this folder?
b. Does it get used only if we use Sitecore xDB Cloud or also for our standalone xDB?
MediaIndexing
a. What's the purpose?
b. Where can I find the folder path configuration details? I looked at sitecore.config and didn't find it.
c. When doese it get created, as I understand the temp media files are sstored on mediacache folder and indexes should go corresponding master/web indexes.
The submit queue folder is used by analytics to queue things if the db isn't accessible.
Have a look in your showconfig page for:
<setting name="Analytics.UseSubmitQueue" value="true" patch:source="Sitecore.Analytics.Tracking.config"/>
This is then configured as:
<submitQueue patch:source="Sitecore.Analytics.Tracking.config">
<queue type="Sitecore.Analytics.Data.DataAccess.SubmitQueue.FileSubmitQueue, Sitecore.Analytics" singleInstance="true"/>
In the FileSubmitQueue ctor you have
FileSubmitQueue.FolderPath = System.IO.Path.Combine(MainUtil.MapPath(Settings.DataFolder), "Submit Queue");
Both xDB cloud and onsite xDB could suffer the same issue of the db erroring or causing issues. There isn't any config which ties it to a specific implementation (ie local vs cloud).
For the media questions, have you looked at https://community.sitecore.net/technical_blogs/b/sitecore_7_development_team/posts/media-content-indexing-updates-in-sitecore-7-2 ?