I think the optimists are thinking "oh, the high-level problem of image recognition and building a 3D model of the area around the car is pretty much a solved problem, great, done!" But in fact, it's all the edge cases that will kill you. What happens when it is dark and rainy and the car in front of you is black, with no license plate? What happens when the car in front of you hits something in front of them unexpectedly? What happens when the car gets a flat tire? What happens when someone doesn't look in their mirrors before changing lanes? What happens when your "there's a problem" solution (like, say, stopping or slowing down) is actually not a good solution?
I have been in all of those situations except for the black car, and the humans involved all made spectacularly poor decisions.
People who claim that self-driving cars will have failure modes far underestimate the failure modes that humans have.