The instance is the allocated memory and collection of processes running on the server. When you start Oracle, memory is allocated and processes are started which perform the many housekeeping tasks to keep the database healthy. You can turn off the instance and the database will remain. Normally, the instance attaches to one and only one database. You cannot have two instances connected to the same database and you cannot have an instance attach to two databases. However, there is an additional Oracle product called Real Application Clusters (RAC) which does let you have multiple instances attach to one database. RAC is used for high performance and high availability. Each instance runs on a separate server so the load is spread out on more than one machine. And if a server goes down, the other servers (or nodes) can handle the load.
You can have more than one instance running on a server. I often have two, three or four instances running on a server, each attached to their own database. Each instance consumes resources (CPU and physical RAM) on the database server. So make sure you have enough resources to support all of your instances.