2. The code, in many cases, is probably an unmaintainable mess. Embedded programming is not always modern programming, for good and bad.
3. Today, the computers in cars are doing more, and the systems are more complex. It's reasonable to expect more serious problems as a result.
4. Companies do safety testing, of course, but there's no such thing as as "100%" test coverage for complex physical machines running outside of a lab.
5. The best way to judge the safety of cars is the best way to judge safety for airplanes: let other people test them out for a while and then check whether or not they report problems.