For the last few months our dishwasher has been acting up. The dry soap that goes in the latched soap dispenser on the inside of the door is not all used during a cycle. There is still some in the dispenser when the cycle is done. Also, the glasses (on the top rack) tend to not get fully cleaned. They have a film on them that sometimes shows the mouth prints from the previous user. Also, some of the silverware on the bottom rack has the same problem. The dishwasher is not packed too much and the arms rotate just fine (when the door is open).
We have tried running it on different cycles to see if one works better than others, but no luck.
Check the water level in the unit most units fill to just below the heating element. Note that some do cover the element but I could not confirm if this is the case. You could try adding a couple quarts of hot water during a cycle after each fill. If it runs OK then odds are that the filter screen on the inlet side of the pump is dirty and needs cleaning.
Another common cause is dirt filters in the pump or something in the impeller. Open the pump housing up and clean/check them.