I spotted a closed-thread in another forum on this and thought it did deserve special mention…
When I am rendering things, I always create one-file-per-frame because it allows me to easily resume if I have to cancel the render mid-stream. Each frame, of each layer, is its own discrete file.
You can specify where those files go. The default location is probably the designated “temporary files” location, such as /tmp. And in this, on playback, there can be a little bit of an unexpected surprise.
When you “play back” the contents of a directory, Blender looks for files … by name. It does not care when the files were actually created. Therefore, if you shorten the animation, the “older” files might still be there, and if they are, they will be picked-up on playback (if you run it long enough).
When you’re getting close to your “final” runs, you need to explicitly delete all files from the target-directories ("/tmp" or otherwise…) that have filenames resembling those of a frame-file. This will help to be sure that these locations contain only “newly rendered” frames.
I actually use the “Makefile” system … the same technique that’s used by computer programmers to “make” software … to drive Blender in non-interactive mode to rebuild all-or-part of a scene, or even a movie. One of those make-targets is, of course, make clean, which (among other things) erases all of these intermediate files. (Here I am not describing “a Blender feature,” but rather a characteristic of my chosen work-flow.)