Rotten food smells from a dishwasher are probably due to either blocked sprayer arm jets, a blocked pump inlet, or a collection of food in the bottom of the tub. Dirty water also may have accumulated in the bottom of the tub. A burning smell could indicate a malfunctioning heating element.
Clean the filter, the sprayer arm jets, the pump inlet in the rear corner of the tub, and the bottom of the tub, then run an empty wash with either a cupful of detergent or white vinegar. For standing water, adjust the drain hose until no standing water remains in the tub. If there is a burning smell, check the heating element for debris; there might be something pressing against it and burning.
The tub and drain should be cleaned regularly, and an empty load with detergent or white vinegar should be run monthly. Rinse aid should be added regularly, and the drain tube should be kept in the proper position. The area between the door and tub should be cleaned regularly to prevent buildup.