First, apologies for the video quality; this was done off-the-cuff without much preparation.
Although I mention in the video that the problem is with a Mazda3 single disc CD player, and show some assembly / disassembly that is specific to these cars, the problem and solution themselves will apply to the majority of cars with an in-dash CD player.
The unit I show was manufactured by Sanyo Automedia, but the mechanism this unit uses for loading and ejecting CD's is fairly universal, and will apply to most other vehicles / stereo manufacturers.
These units use a rubber roller to load and eject the CD's. Over time, the roller can become dirty and lose its gripping power. If this is the only issue, it can be cleaned, and I would recommend denatured alcohol.
In my case, the roller was dirty, but this was not the only problem. The rubber roller rides on a metal axle, and over time, the rubber became loose, allowing the metal axle to spin independently of the rubber- when the CD was inserted or an attempt was made to eject it, the metal axle spun, but did not move the rubber, which is what makes contact with the CD.
The solution was to re-bond the rubber roller to the axle. To do this, I found success with contact cement. Other bonding agents may work, but contact cement does a very good job of bonding the rubber to the very non-porous metal axle. It will also not harm or deform the rubber, so I recommend using it.
In order to apply an adequate amount of contact cement to the rubber and axle, I used a hypodermic needle. Two reasons for this- first, it allows you to inject a very small, controlled amount of the cement. As you are injecting a bonding agent near areas that are required to spin freely, less is definitely more- you do not want to use too much and accidentally seize the axle up. Second, using a syringe allows you to inject the cement into the first half inch of the axle, not just the outside area.
To make the injection, I pushed back the rubber on each end with a jeweler's screwdriver. With the screwdriver still in place, I injected the cement slowly while drawing the needle out. Placing the syringe needle between the rubber and the axle without something like a screwdriver in place creates the risk of either puncturing the rubber, or breaking the needle off.
Also, I used a syringe with a screw-on needle- I found this was necessary as the cement was too viscous to draw in through the needle itself. I was able to inject it fine, but in order to fill the syringe, I did have to remove the needle and fill the "body" of the syringe without it.
If using contact cement, it is necessary to wait several hours for the bond to set. I waited 12, but it might be advisable to wait even longer.
I did not discuss removing the head unit from the dashboard; for Mazda3 owners, this process is documented in the factory service manual for the vehicle, which is available for download for free (a Google search should yield a source.) There are also, I'm sure, videos on YouTube demonstrating this, however I'd strongly recommend following the service manual and only using YouTube video's as supplements. When not done right, you run the risk of damaging or distorting your dashboard components. With modern cars especially, it is often obvious when a dash has been taken apart incorrectly, as they often will not look right when reassembled.
A note on the ribbon cable that connects the CD mechanism to the head unit- I did not show it's removal, but it is fairly simple. Using a small pair of pliers or a flat blade screwdriver, push the plastic clips on either end of the cable TOWARD the side of the harness that the cable plugs into. These are wedge type clips, and will, at least on mine, not come out completely.
If you have any questions regarding this fix, please feel free to post them in the comments. I do hope that this will be found helpful for anyone experiencing this issue.