Dishwashers fail quietly — most people put up with poor cleaning or slow draining for months before they investigate. The list below covers the highest-impact fixes, almost all of which are cheap and don't require a technician. Always cut power at the breaker before opening the kick plate.
In order of likelihood: clogged or worn spray arms (pull the lower arm and check that all jets are clear), exhausted rinse aid, water temperature too low (should be at least 120°F at the dishwasher), dirty filters (pull the bottom filter assembly and rinse it under the sink — yes, dishwashers have user-serviceable filters), too much detergent leaving residue, or hard-water buildup throughout the system. Run a full cycle with the door open briefly at start to confirm the inlet water is hot — it almost never is on the first cycle of the day, which is why pre-running the kitchen sink hot before starting the dishwasher actually matters.
Clean the filter, check the drain hose for kinks behind the unit, confirm the air gap (the chrome cylinder on top of the sink) isn't clogged, and check that the garbage disposal knockout plug was removed when the dishwasher was installed. If all clear, the drain pump or check valve has failed.
Door gasket worn or pinched, spray arm hitting tall items and forcing water past the door, drain hose connection at the disposal/standpipe, or water inlet valve failed. Open the door right after the fill cycle and check whether water dripped out — that points to a door gasket. Pool under the front of the unit suggests the door; pool under the side suggests the inlet or pump.
Verify the breaker, check the door latch microswitch, check the float switch in the bottom of the tub (sometimes a piece of food gets under it and tells the controller it's already full), and check that the inlet water valve is open. On models with touch controls, the touch panel often fails — its replacement is straightforward.
Heating element open (test resistance — should be 10 to 30 ohms), high-limit thermostat tripped, or the heated-dry option simply not selected. On condensation-dry models (most modern dishwashers don't have heating elements anymore), wet plastic at the end of cycle is normal — use rinse aid to improve sheeting.
Old food trapped in the filter or under the spray arm. Pull every removable part out and run them through the sink. Run an empty cycle with white vinegar in a measuring cup on the top rack.
Wax motor failure (the small actuator that releases the door at the right point in the cycle), door blocked by a tall item, or detergent itself glued the door shut from a previous incomplete cycle.
Modern dishwashers really do run two-plus hours on normal cycles — they use less water and heat slowly to save energy. Check the manual for cycle times before assuming there's a problem. If a cycle is hung at one stage forever, the heat sensor or pressure switch is failing.
Spray arm hitting an item that flopped down, food jammed in the wash pump (hum-then-stop), or worn pump bearings. The first is an instant fix; the third is approaching end-of-life.
Codes are model-specific. The service manual on this site, if available for your model, lists every code with the test procedure. Generic patterns: heat or thermistor errors are the heater or sensor; wash/fill errors are the inlet valve, pressure switch, or float; drain errors are the drain pump or hose.
If you're getting electrical errors that persist after the obvious fixes, the control board may have failed and replacement panels approach the cost of a new midrange unit. If the inner tub is leaking through a crack rather than the door, the unit is unrepairable.