If Apple had a sense of shame, CDs would not get stuck inside Macs so often. It's been a problem as long as I remember, but it got much worse when Apple eliminated the old paper-clip manual eject method.
My best guess is that there's some cult around software control of hardware that makes it impossible for Apple engineers to implement non-stick CDs.
Recently I ran into a stuck CD/DVD that failed all the steps in this 2004 MacFixIt article on my 10.4.11 iMac. My comments are in square brackets.
Mini-Tutorial: Ejecting media in Mac OS X: Removing 'stuck' CDs/DVDs - MacFixItYech. Only the Open Firmware worked in my situation, but I could have tried connecting my original iMac mouse and booting with the button held down.
From time-to-time, removable media (including CDs, DVDs and others) can refuse to eject via the normal Mac OS X methods -- pressing the keyboard eject key; using the Command-E keyboard combination; selecting the item in the Finder and clicking the Eject button next to its name; dragging the item to the trash; or pressing the F12 key. [jf: failed, of course]
... The first and simplest method, if you only want to unmount a single volume on the disk, is to use Disk Utility, located in Applications/Utilities. In Disk Utility, simply select the volume you want to unmount and click Eject. [jf: this usually works, but it failed this time]
... In some cases holding down a connected mouse button at startup will cause a misbehaving optical drive to eject its media. [jf: nope. I have a wireless mouse though, I think this needs a wired mouse. Holding the click key on a MacBook is supposed to work as well]
... If you have a Mac that will not startup properly and has a stuck disc, try booting into Open Firmware by holding down Command, Option, O key and F key during startup. After booting into Open Firmware, type the command eject-cd. [jf: Sort of. "eject-cd" just produced an error message, but "eject cd", after a delay of about 30 seconds, worked.]
Using the Terminal There are two commands that can be used in the Terminal (located in Applications/Utilities) which can be used to force disk ejection:
The first command to try is drutil tray eject. Simply type in this command and press return. [jf: Failed.]
The other method takes a little more work but can work in instances where the first method fails.
1. Type the command drutil list into the Terminal and press return ... [jf: Failed. It never returned.]
2. Use the command drutil tray eject 1.
In the above command, the number "1" should be replaced with whatever drive number you obtained in the first step...
I think if one lets Disk Utility sit for a half hour or so it can work even in these most severe situations.
So what was the problem?
One lousy fingerprint on the CD. We washed the CD and it worked perfectly.
Apple is shameless.