Each co-extant window of Firefox in particular (and the same is true for Internet Explorer on Windows) knows about the cookies of the other. Google's own Chrome browser may be a limited exception (you might have to launch off separate private sessions from two non-private sessions to do it) but I'd have to check.
One way to get around it might be for example to use Firefox for your Google searches, while using Chrome to be in Gmail. Heterogeneous browsers do not share cookies unless you ask or grant permission to one browser to import from the other (the imports are typically batch affairs at the time of request or permission, not a continual looking into other browsers).
All this is very confusing to me. So if I use Firefox to access Free Republic and then open Explorer in a totally separate window outside of Firefox, Firefox would know I used Explorer to access the web site GardeningWeb in Explorer and Explorer would know I have Free Republic running on Fire fox?
Firefox stores all it knows about you in your profile. Your profile is the directory under which Firefox stores all it knows about you your preferences, your saved passwords, your cookies, your browsing history, cache, your set of installed add-ons, etc. Delete your profile, and Firefox will be forced to start its relationship with you over from scratch.
Each user on a given computer has one Firefox profile, and that's usually that. However, it's possible to set up multiple profiles for one user. Normally, that's only useful if you're doing development, e.g., debugging an add-on or something. However, since the profiles are completely separate, having multiple ones could also be useful to prevent information leakage, such as we are discussing. It has the same effect as using different browsers without requiring you to use a different browser.
You can learn how to set up multiple profiles here.