There are not many differences that I know of. But one of them is; that the Presentation Tab Preview runs in the context of your "website" site definition; the Publish Tab Preview spawns a new window that uses whatever domain name you used to "hit" your Sitecore. Or put in a different way; the host name will map you to your correct site definition (config) when using the Publish Tab - the "inline" Preview Tab won't use this option.
This is the most likely cause, you're seeing differences in behavior.
Here's a URL from the Presentation Tab: http://edit.edit.dev/home-node-name/edit-edit?**sc_site=website**&sc_lang=en&sc_mode=preview&sc_duration=temporary&sc_device=%7bFE5D7FDF-89C0-4D99-9AA3-B5FBD009C9F3%7d
And the same URL from the Publish Tab: http://edit.edit.dev/?sc_itemid=%7bB307A010-FF0B-4D0C-892F-EFF7C9A01AD4%7d&sc_mode=preview&sc_lang=en
Not sure when this made it into the config files, but it appears this is all controlled by this pipeline (in web.config):
<getPagePreviewUrl>
<processor type="Sitecore.Pipelines.GetPagePreviewUrl.GetDefaultUrlOptions, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetPagePreviewUrl.SetLanguage, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetPagePreviewUrl.GetUrl, Sitecore.Kernel"/>
</getPagePreviewUrl>