At one time having done apartment complex maintenance, I found the planned obsolescence is in the hardware, not the software. After doing some failure analysis on some dishwashers, it broke down to 3 primary failure items.
1 the water pump. The pump contains a plastic impeller on a steel shaft. The water seal was on the metal steal shaft. The plastic impeller on the steel shaft would fail when the steel shaft inside the impeller rusted and split the impeller. This resulted in non repairable failure of the entire pump as both the motor and impeller failed.
2 the drain valve. The drain valve, a solenoid operated valve diverted water between the wash cycle and the drain. Much like the rubber toilet flush valve in the commode, this rubber part broke down with the use of chlorinated city water just the same as the flapper valve in the toilet. Unlike a toilet, this valve, often integrated into the pump volute assy was not consumer replaceable. The failure was not obvious to the consumer as the wash water was lost during the wash cycle leaving dirt deposits on the dishes at the end of the cycle. Dishwashers were replaced thinking a newer model would work better than an older model. In reality the performance declined over the life of the valve.
3 The fill valve. The fill valve has a strainer that clogs and is relatively easily replaced, but the valve itself often fails when the plastic permeates with water and the magnetic core rusts. This results in the valve failing to open or limiting the motion resulting in only a trickle of water in the fill cycle. This too is seen by the consumer as a failure to properly clean dishes as the timed fill cycle results in too little water for the wash and rinse cycles and is often compounded by the failing drain valve. The consumer knows the dishwasher is running, but doing a poor job driving the desire for a replacement that works better.
These problems are seen on both electronic and mechanical timer models.