There could be an intermittent fault in the control, but that is less likely than an intermittent opening of a door switch, which is mistaken as the cycle ending. The clean light should be on if the cycle finishes correctly.
If you try to start a new cycle when the previous one has stopped, they will pick up where they stopped and appear to be randomly missing cycles.
Another frequent failure is an intermittent fill valve, this can leave undissolved detergent at the end of the cycle. It will make the prewash fill and drain the prewash water, but never fill it again and complete the cycle dry.
You mentioned a film on some dishes; make certain the temperature of the water going into the dishwasher is at least 120 degrees F. I use LemiShine booster in the prewash cup and one of the pod-type detergents in the main wash cup. Also, be sure to use a rinse aid as well.
Let me know if you have any questions.