A dishwasher that runs a full cycle and leaves dishes dirty almost always has a water problem: either not enough of it, or it is not reaching the dishes with any force.

Spray arms and filters

Take the lower spray arm off — on most machines it lifts or unscrews by hand — and hold it up to the light. The small holes block with grit, seeds and label paper, and a half-blocked arm sprays a fraction of where it should. The same applies to the upper arm and any third-level arm.

Underneath sits the filter assembly. On most modern machines this is a cylinder that twists out. If it is packed with food debris, water is being recirculated through a restriction and pressure drops everywhere.

Both of these are genuinely worth doing yourself, take ten minutes, and fix a good share of poor-cleaning complaints.

Not enough water

If the arms and filter are clear, the next question is whether the machine is filling properly. A partly-blocked inlet valve or a kinked fill hose leaves the pump moving less water than it needs. You can often hear this — a machine that sounds like it is straining or running dry usually is.

Water temperature

Dishwashers rely on hot water to dissolve detergent. If the machine is fed from a long cold run, or the household water is set low, detergent will not dissolve properly and everything comes out filmy regardless of the machine's condition.

Loading and detergent

Worth ruling out before assuming a fault: overloading blocks the spray pattern, tall items in the lower rack stop the upper arm turning, and detergent that has been sitting in a damp cupboard for a year does not work well.

When it is a real fault

If the arms spin freely, the filter is clean, the machine fills normally and the water is hot, then a failing circulation pump or a worn wash impeller is the likely cause, and that is a parts job.

Getting it looked at

This is general guidance, not a diagnosis. The same symptom can have a cheap cause or an expensive one, and the only way to know which is to have someone measure it. A technician will find the actual fault and give you a fixed price before any work starts, so you can decide with a real number rather than a guess.