You can get CAN to go pretty far.
And real time latency is not "dead simple". A low priority message will always lose out to a higher priority message on CAN. With ethernet a low priority task can flood the bus if the circumstances are right.
Also, which MCUs come with gigabit ethernet?