True, you gave the answer yourself...
It is always good to have different instances for different requirements(like QA, development)
For eg: if you need a high performance configuration/needs more resources for a particular application, you can tune it accordingly if you have seperate instance. If you have only one instance for all applications, you cannot do that.
You can restrict users to access only authorized data (like payroll) by keeping it in a seperate instance. If you have it in a single instance, then the database owner will have a permission to access data.
There could be some other advantages also....
Thanks,
Madhavi