There's a few other factors at play as well. The OEMs aren't designing every single nut and bolt on a car nowadays. A lot of subsystems are contracted out to tier 1 and 2 suppliers. For example. the ABS system comes from Bosch or some other supplier. They're going to require certain inputs for their system to function properly. But they're not going to want to necessarily rely on the hardware from some other supplier. But the CANBUS architecture makes it easy for them to interface to other modules regardless of suppliers.
This architecture also lends itself to a distributed computing model. As someone else already mentioned, it provides a level of increased reliability. If one module fails, it doesn't take the whole car and everything else down with it.
You also have to consider the timing aspect of what these automotive computers are doing. In many cases, these are considered real time computing systems. You know how sometimes your computer or phone kind of has a brain fart and becomes unresponsive for a few seconds? You want that happening with your engine management? Or your brakes?
That is why software bugs are on the rise with new cars. All these modules and software designed by completely different suppliers who don't communicate with each other to help improve compatibility with their components. Often the bugs don't show up until the finished products have racked up a few miles. If a module sits around too long it can loose its software and firmware. Then there are issues with tin whiskers that develop over time too. They just want too much computer control in cars anymore. Things like turn signals don't really need to be computer controlled. In my CVPI, the only lights that aren't computer controlled are the spotlights, even the dome light is computer controlled.