From a developer's or systems administrator's point of view PostgeSQL for instance certainly offers a similar - if not superior - feature set and better usability. That's not the main selling point for enterprise software, though. For enterprise customers aspects such as maintenance, service contracts and having a large company that can be held accountable if anything goes wrong are far more important.
Another reason is the way enterprise sales processes work. In general, they take far longer than sales decisions in SMEs and involve a variety of stakeholders. Oracle employs a large number of smart salespeople and Oracle can afford wooing prospective customers for months or even years before a deal is made.
That said, Oracle Database is a fine product that generally performs very well.
If you had Oracle 8 way back in the day (90's), then the upgrade and pay maintenance path is much easier than even the thought of switching to a different system. Think of how much testing and conversion you would have to do to switch to Postgres. ANSI SQL is a standard but there are little shortcuts and tuning and other things that are very vendor specific. An upper management viewpoint would ask the question of what is the ROI of switching?
Almost all Oracle products are free to download and play with and the tooling for building front end (client/server and web) were very easy to use and could provide useable (maybe not pretty) front end applications easily.
There is a lot more competition now from SQLServer and Postgres but for a while Oracle was miles ahead. I'd still choose to use it as I have a greater knowledge of it than other db servers. It doesn't need to be that expensive if you have a small server especially for internal use APEX is great and it's all freely downloadable to evaluate.
In general through the 90's and even up until the last 5 years or so, telling your Enterprise C suite that you were installing Oracle was the equivalent of selecting IBM back in the day. There was a saying that *"no one ever got fired for going with IBM", when it comes to Databases, ERP/Financial software etc Oracle was in a similar boat. Oracle is also a sales agency that happens to make software, and they are damn good at sales. They typically lock companies in for long periods of time and get paid handsomely for it.
Oracle is also like an infestation, they get in and start spreading as much as possible. I honestly can't blame them, I'd do the same in their shoes trying to sell more product/services, but my issue with them is they have projects that drag on and on and so many fail to ever do 20% of what was promised. They aren't alone in that realm, and companies bare some of the blame too, but by far I see more Oracle solutions fail to get implemented than almost any other.
As for if their products are worth it, I will say their Database is really a solid product and has some really nice capabilities. I personally would never choose it or any product they push, but that isn't a judgement on its capabilities. In fact, I admire that they created the RAC cluster and how it is architected etc. Not that they are perfect, but at the time RAC was introduced it was truly a unique way to package and solve some common problems for Enterprises. For my money though, I'll bet on PostgreSQL or other solutions before I ever use/recommend Oracle.
What's the alternative in the Postgres/MySQL world?