They way that I perfer to work, there are no cases where I want the OS to switch to another desktop simply because I choose to open an application that happens to already be opened on another desktop. For me, I want the application to open in the current desktop, regardless if it is already open in another desktop. I tend to have multiple applications open on a single desktop in windowed mode - where no single application consumes the entire screen. For me, out-of-sight-out-of mind applies - I need to be able to see what I have to work with.
However, some of my friends at work prefer to work in a full-screen mode, where a singe application takes up the entire screen. They are constantly switching back and forth from one application to the other, typically by pressing CMD+TAB. I guess in this context, having the OS switch from one desktop to another based on where the application is opened would make sense. But, to me that seems like a big waste of a desktop - only showing one application.
So, here is an example of my use-case. I come to work and powerup my Mac. I open Finder and Excel so that I can start working on a report. While I'm working on the report a friend comes over and asks me to help him with his report. In this case, I would prefer to switch to an unused desktop and then proceed to open the applications that I need for this new task, such as Finder and Excel (the same ones I was using for my report but now I need for my friend's report). I already have context in those applications on Desktop1 and I don't want to lose that, hence my desire to use another desktop. So, I go to Desktop2 and click on the Finder icon in the Dock. Instead of it opening a new instance of Finder on Desktop2, I'm jolted over to Desktop1 where Finder was already opened. But I don't want that - I want to keep my place in Finder on Desktop1 and open a new one on Desktop2. Sure, I can hold the CTRL key down while I press on the Finder icon in the Dock and tell it to open a new window. However, instead of it opening a new window in Desktop2, it opens it in Desktop1 while leaving me in Desktop2 and wondering where the new Finder window is. It seems that Safari works correctly in that it will open a new Safari window in Desktop2 if I hold the CTRL key down while I click on its icon in Dock. However, if I forget that, I'm transported over to Desktop1 - which I don't want.
How Firefox is handled is just weird. Lets say that I am in Desktop1 and I have Firefox opened. Then I switch to Desktop2 and now I want Firefox open in Desktop2 too. While in Desktop2 I can hold the CTRL key when clicking on its icon in Dock and tell it to open a new window. Indeed, it will open a new window - but not in Desktop2. Instead, it opens a new window in Desktop1 and I get tranported over to Desktop1. Again, not what I want.
Sure, you can blame the applications for this. But to me, the OS is the coordinator of all the resource on the system, including the applications. So, in my opinion, if it does not work consistently and and if it does not work how I expect then it does not work well.
-Rod