There are SO MANY variables. When you see underdeveloped negatives it just means... you need to develop them longer. Product failure is usually about the last culprit. Temperature / forgetting to shake the bottle / a mistake or two in mixing / not testing for your own times / too gentle or infrequent agitation (I could go on) are all more likely culprits than product failure at this point.
I'm currently dabbling in D23 but I have been using Rodinal / Adonal (whatever it is called now) for several years and never had a bad batch. I've certainly made mistakes during that time and produced bad negatives though.