Servers are insanely powerful nowadays. Just a few cores can get ridiculous levels of performance. So you may often have LOTS of databases on one server.
Lets say you have 1 database. You have some files and 60+ background processes to run that database.
Now you have 2 database. Now your server has 120 background processes.
Now you have 20 databases. Your server might easily be powerful to run the *work*, but it is also now having to manage 1200 background processes. You waste resources just managing all that background stuff.
So you could put all those databases into a single database. But what if you have clash of schema names. What is 7 of those 20 databases rely on public synonyms. Now you're stuck...
What we want is 20 "sub-databases" that can all sit within a single "true" database, so that a single set of background processes can look after all of them. Each sub-database would appear like a completely independent database, but they could also be managed collectively as well (eg memory, backup, etc)
That is what pluggable databases are. The ability to have multiple "sub-databases" all being part of a single "true" database infrastructure.
More details here
https://www.oracle.com/database/technologies/multitenant.html