Most cars have a high speed CAN, for all functions needing messages at a rate of about 10 or 20 ms like Abs, engine, etc. There is also a low speed CAN, which is used for things like heating, and low rate signals of about 100 and 200 ms. The advantage of low speed CAN is that it can be put into low power and use it to wake up devices, like a wake up on LAN. I Then there is the LIN bus. This is a low speed, single wire cheap bus. It is used for things like wipers. These are the basic three buses.
Cars like BMW and Mercedes have two or three high speed CAN, a MOST bus for entertainment, and a flexray for safety critical applications. Other manufacturers use TTP instead of flexray, but the safety and timing is in both cases the main reason for not using CAN throughout.
Cars are also slowly rolling out Ethernet, mostly due to the high speed and low cost.
All buses are connected to each other in one way or the other via dedicated gateways. These gateways are usually not pure network gateways, but standard ECUs used for vehicle functions, also serving as gateways.
Then there are internal buses. For example some controllers include multiple ECUs connected via SPI or similar. The engine ECU is almost always connected to the CAN bus because it requires a lot of information from other systems, such as speed, gas pedal input, etc. The actual firing of the sparks is very time critical, and this is after done via a dedicated TPU controller, integrated as a sub core in the engine ECU (take a look at the MPC555 documentation), connected to the main ECU via an internal bus.
The point is that no one gives a Shit if you Fuck up your car by plugging something to one of the vehicle buses. From the OEM perspective, the car must be non hackable from the outside, but once you are in, it's your problem.