Here at one of the shops I work with, we use Oracle 8i EE (running on 2 Windows 2000 Advanced Server machines in an OPS cluster).
We use oracle because of database size. We grow by roughly 1-5 million rows of data per day, every day, and approx 30 to 150 MB table space size per day. We are currently at 2.5 billion rows in our largest table, which is partitioned.
Things like table partitioning, OPS, IOT tables, just arn't supported by other DBs. Oracle is still absolutly light years ahead of any other dbms I've ever used (and I've never used DB2, so I don't want to say which is better out of the two).
We need C++ in our shop, becuase we've written a lot of ext proc. for oracle in C DLL format, so keeping C++ and a couple of C guru's around is a must for us.
We also use ASP for our front end web interface. We use ADO with an oracle OLE DB driver to connect our web to oracle. Using a 4 IIS server cluster using MS Application Center.
I'm not sure how PHP would handle things like array proccessing, or returning record sets from oracle packages, or even bind variables to oracle (not saying it can't, but I'm not sure how it does it, so I can't compare) but ASP and ADO (or OO4O) do all these things quite flawlessly. OO4O is especialy good at array processing.
We also have an array of background applications, written in anything from VB to VC++ and Borland C++, that use ADO or OO4O to connect with Oracle.
Essentialy, it all works, and its much easier to find a trained windows programmer in the work force than someone comfortable in linux / unix. This, more than anything, is why we stuck primarly with a windows environment. Of course, its as expensive as heck. Quarter of a million dollars in oracle licensing alone! Then a windows license for each box, application center is 5g per cpu per box (we have 8 or 16 cpu's on web boxes total, don't remeber which), Visual Studio for all developers, yadda yadda yadda.
This is just my experiance over here, and I reserve the right to be wrong ;)