Why would one need multiple instances of same Oracle database? I came across following statement while reading this short article -


  An instance is the software (and memory) that Oracle uses to
  manipulate the data in the database. In order for the instance to be
  able to manipulate that data, the instance must open the database. A
  database can be opened (or mounted) by more than one instance,
  however, an instance can open at most one database.


I am wondering, why would one create multiple instances of same database?
For availability (one instance goes down, another instance can continue to work), handling load between nodes (adding more nodes on as needed basis) and possibility to dynamically allocate resources based on needs. That is achieved by using Oracle RAC (Real Application Cluster) where instances are running on separate machines. 
In Oracle for version up to and including 11.2, one database can be used by one instance (basic setup) or more instances (Oracle RAC). 
 It's expected to see paradigm shift for instance vs database with soon-to-be-released Oracle 12c (having more databases inside one instance).