>>12
Postgres and oracle are equivalent for most features. The greatest difference is, is that oracle has invested into commodity tools. For example a materialized view is something you have to build by hand in PostgreSQL with triggers, which changes data in the table representing the materialized view if something in the join tables is changed. In oracle this a feature, which is incorporated in the language.
Of course this will cost you some money.
For the rest is postgresql easier to use, more powerful and more expressive than MySQL. PostgreSQL follows the standard more strict, which makes a switch easier and their planner is more advanced and leads to better query plans. Especially in replication since the added hot streaming replication.
Another thing, which is interesting is that postgres can parallelize queries for you with the help of PGPool-II, which also works as a load balancer and query cache.
The last thing is that postgres has several languages to program in, just like oracle. It also enables you to create modules in C, which you can use to create new functions, types or indexes.
This makes it extremely useful.
>>14
This is a choice if your data is not strongly relational. I wouldn't use it in other settings, otherwise you are at risk reinventing a database.