When do I need more than one Oracle Instance on the same server? I have one application server separate from an Oracle server (one physical server).  I have three instances on one Oracle Database Server (another physical server).

I want to have three environments to work in, Development, Test, and Production.

Should these be three Instances or three Schemas that use the same Instance?  Edit:  The server can physically handle it either way (i.e. has enough space, memory, and so on.)
You most certainly don't want to have dev, test, and production all sit in the same instance. I wouldn't even put them on the same server.

Having separate instances for environments that serve different puproses allows you to isolate them from the security and maintenance perspectives. For example, if your development database needs to be restored, you don't want to put your production environment offline for that reason. You'll probably also have stricter security in production. 

Even performance-wise separate instances are useful while sharing the same physical (or virtual) machine. For example, by limiting memory_target on the development instance you will ensure that runaway sessions in development won't eat up all resources on the server.