FWIW the correct detergent will vary with the machine and the local water conditions. Also, the detergent manufacturers have been changing the composition of their detergents in recent years.
One of the ingredients that has often gone MIA appears to be the one that softens the washing water in hard water areas. The result of this is that if you live in a hard water area, behind the shiny drum there will be no end of limescale ( a breeding ground for stinkyness) deposits in the drain hose (ditto) and worse yet, it can even cause the emptying pump (whose bearings often run in the water, using it as a lubricant) to seize up intermittently.
My pragmatic approach to this is to add a big squirt of cheap washing up liquid to the laundry detergent with every wash. This softens the water (for pennies), improves the detergent action, and helps prevent limescale build up. I wouldn't recommend that you do this in a soft water area though; you will probably get bubbles coming out of the machine...
If you run a wash cycle with a pint or two of vinegar in the machine, this will help to shift limescale residues. It is worth doing this every now and then in hard water areas.
cheers