Rationale for the LM2904 Op-Amp
My question therefore is, why is the LM2904 still in full production?

What is the point of it? Why would someone choose it when the LM358 is a drop-in replacement and is arguably a little better?

Generally, cheapness. If the LM2904 is 0.1ct cheaper in 10000 pcs and you don't need anything that the LM358 has to offer – why spend that $100 ?
Other than that, I don't want to rule out that LM2904s you can buy are decades old (you can actually find stocks with photos of Philips-branded LM2904 – and Philips semiconductors was renamed NXP 2006. And those definitely aren't the oldest to the bunch). So, no evidence they are actually still in production.
Furthermore, it's very likely that the LM2904 are in fact from LM358 wafers – maybe parts on the wafer that didn't quite achieve gains, or didn't get tested thoroughly, or just LM358 that you'd rather sell than keep in stock. At this point, I'm not even convinced that &quot;modern&quot; LM358 are different than LM158 aside from being less intensely tested, or showing different parameters during testing.
Notice that semiconductor fabs make most money with expensive, small-feature devices. But: your fab might become old, or there might be a break between production of high-profit parts, so you produce just &quot;whatever&quot; to not let your fab (and thus, your investment) stand around. Old Opamps are a prime candidate for that – the structures are &quot;huge&quot; by modern standards, ie. even a badly calibrated lithography can still produce them reliably, they are still sold in the millions, and the masks are already in storage. Win!


For extra credit - why is it called LM2904? This one has always bugged me. Is this a legacy number? It seems odd to have a datasheet for the LM158, LM258, LM358, and the LM2904.


So, in LM2904, 2 is usually the temperature range – industrial. And that works out here, -40° to 85°. In fact, it exceeds the temperature range of the LM358. So maybe, it was, or is, just a more temperature-tested version of the LM358.
But why the four-digit code at all? No idea. Maybe it was meant as LM2.908? (note: there's also 2902s).