The impression I get from the Wikipedia article on the LionAir flight is a combination of poor maintenance and a design issue that does not tolerate poor maintenance. Specifically, a stick pusher system that can suffer false alarm activations when air data sensors are poorly maintained.
That is a too easy conclusion - Lion Air isn't known for poor maintenance and Ethiopian Airlines is especially notable in Africa for their modern fleet and good maintenance. Especially in this case: The airliner was delivered to the airline in November 2018. Its just a few months old.
In the case of Lion Air, a faulty pitot sensors was replaced before the final two flights, because earlier flights reported similar issues. It is not known if it was incorrectly calibrated then, but the aircraft already had problems with altitude and airspeed that resulted in the maintenance. The next flight needed to try three different off-normal procedures until the problems had been under control. Not sure what the final flight attempted in the final 10 minutes, but the crew was constantly correcting the automatic nose-down trim, while the aircraft was overspeeding.
I am not sure, if the issue is really caused by maintenance of the pitot sensors. But that a system like the MCAS only makes use of ONE pitot sensor sounds like a terrible joke to me. Also the almost open-loop behavior of MCAS is pretty disturbing - it doesn't care about the control inputs or actual flight condition, just Mach number and AOA.
The whole story about how MCAS came into the 737 MAX sounds like "evil hack" - as fix for the torques produced by the new engine position.