The average car today contains about $2,000 worth of software. Electronic control units and the software they contain manages virtually everything including the engine, transmission, windows, brakes, lights and more. When electronics first starting appearing in cars most of the systems functioned independently of each other. Cars today feature controller area networks that allow the systems to talk to each other and share information. The speedometer is driven by a servo that gets speed information from the controller for the anti-lock brakes. Even the audio systems use speed information from the brake controller to adjust the volume at higher speeds.
All the extra functionality that we have in our cars now means vastly more complex control software and far more interactions. While software used to be put in ROM on older systems, new systems use flash so that they can be updated when problems are discovered and more problems than ever are software related. As we move toward more complex drive-trains and vehicle to vehicle communications in the future even more software will be required.