Hi Dave, you're very welcome!
There are many reasons.
Caching defines a specific state per Frame; hence, you can move the time slider back and forth, while the same frame number will show the content equally.
The caching provides the data to the beginning of the frame calculation, whereby otherwise non-cached data might get to a calculating state later during that Frame.
So, when you move back and forth with a non-chached scene, the results that you see in the editor view are not reliable. Why is that? The simple answer is – to be able to work in the editor view – one wishes after each little action to see the results of the given input. This requires refreshing the scene (like pressing the A key shortly).
Which means the Calculation Hierarchy (see -> Priority) is run through each time, perhaps even updating with newer data. Newer Data? If an object is not well-positioned in the object manager (or set up with a proper Priority, if possible), it might (or not) take the data that is from a previous frame, as the newer data is not calculated yet. If that is perhaps not one case, and the chaos of a setup is large, delays of many frames can happen. Which means the outcome is different. If the editor is updated over and over again, those delays are perhaps not noticeable.
When it comes to render time, here the calculation is only a single action, with no exception, and is run through a frame to create results once! Then the next Frame. Here is the huge difference. The editor view and the render view might or might not match. The preview render is always a good idea to find those setup problems early on. Caching an object provides the data (again) at the beginning of the Frame, and avoids a Priority problem typically.
More about this:
https://help.maxon.net/c4d/2026/en-us/Default.htm#html/TTARGETEXPRESSION-OBASELIST.html#prio
If that was the reason for your result, I'm not 100% sure, of course, how can I know? I don't know your setup.
Anyway, I hope that helps.
Cheers