If your dishwasher isn't delivering spotless plates and gleaning glasses you might need to call a professional to sort the problem out, but there are a number of things you can do first and you might discover you don't actually need dishwasher repair.
Incorrect loading - If you're overloading your machine or allowing large items to block the spray arms you won't get peak performance. Go back to your operators manual or check out the many guides and videos on the internet if you need a quick refresher on how to best load your dishwasher.
The wrong detergent or too little cleaning agent - Will both reduce the effectiveness of your dishwasher. It's worth double checking the quality and quantity of your detergent before you assume your machine is at fault. Dishwasher powders also degrade over time, especially if they're badly stored and allowed to get damp.
The water is too cool - Many modern machines have variable heat settings, and since heating water takes the energy you don't want to have it any hotter than you need. However, the temperature that will serve for lightly soiled plates won't work for dirtier dishes that have been left to stand for hours.
Food debris and lime deposits can clog up your dishwasher, making it very hard for it to work properly. Dishwashers need cleaning!
Run a cleaning cycle - Use a commercial cleaning product, or run a hot cycle with around half a cup of white vinegar. Doing this once a week or so it will go a long way towards keeping your appliance clean and in good working order.
Spray arms - Unplug the machine from the power source and remove the spray arms. Depending on the model you may need a screwdriver or spanner to do this. Soak the spray arms in a vinegar solution to loosen deposits then manually clean any blocked jets.
Clean the filters - Your machine may have one or several, if you don't know where they are, your owners manual will tell you.
Clean the drain reservoir - Found at the bottom of the machine, generally beneath the filter. This is another place that food particles can lurk and reduce the efficiency of your dishwasher.
Clean the inside of the machine - Using a commercial product designed for dishwashers or a homemade solution. A white vinegar and baking soda paste is one popular DIY dishwasher cleaning formula. Spread the paste, leave it to sit for around 15 minutes then remove with a sponge. Use a putty knife or plastic spatula to remove any stubborn deposits.
Component related issues
If you're using your machine correctly and it's not dirty there are several components that could be at fault.
The water inlet screen - This can become clogged, often with lime which will prevent sufficient water from entering the dishwasher. Cleaning the screen will generally resolve the issue.
A faulty water inlet valve or sticky float - Either of these can prevent water from entering the dishwasher, and of course if there's not enough water your machine can't clean properly.
Check the water level - Start machine, wait for it to fill and then stop the cycle and open the door. The water should reach around the heating coil. If it doesn't it's likely that insufficient water is at the bottom of your cleaning problems.
Changing inlet valves or the float are the sort of dishwasher repair jobs that you can tackle yourself if you have a reasonable level of DIY competence. More complex problems relating to the motor or drive belt will need the attention of a service engineer.