Usually process means a "heavy weight" program context started by the operating system. If you start NotePad three times, each one is a process. You can see three applications and three processes in Task Manager.
Threads are "light weight", meaning it's a lot less work to set one up, manage it and tear it down. A single process can manage multiple threads. A new Java thread may or may not be a new thread in the operating system, depending on the version of the JVM.
Even though threads are much lighter than processes, they're not without cost. Programs that run hundreds or thousands of threaded tasks use thread pooling to reuse them rather than create and destroy them all the time.
Does that help?
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
IE always starts in a new process, too. If you just open a new window, though, it runs in the same process. (I think some IE versions have an option to change the latter behaviour.)
The soul is dyed the color of its thoughts. Think only on those things that are in line with your principles and can bear the light of day. The content of your character is your choice. Day by day, what you do is who you become. Your integrity is your destiny - it is the light that guides your way. - Heraclitus
Of course, this isn't necessarily generalizable to any application. It looks like Firefox is smart enough to start a new thread in the first process rather than creating a second process when you start it again. Basically this is up to the programmer that wrote the program. Most likely Firefox does start a new process that notices one already exists. The new one then probably tells the old one that it should just open a new window. Of course, this is just my guess. I may be way off here. Who knows?