The shittiness of their system goes both ways -- It's not fun running a couple blocks down the road trying to get to an uber that won't drive to you, only to have them cancel and collect the $5.
Lyft I noticed has some decent algorithms to detect obviously bad behavior. One recent ride I called just started driving the opposite way entirely and it allowed me to cancel with no fee. So Lyft at least has a few ways to detect when a driver is obviously acting in bad faith.