RS485 over CAN: when and why?
Both are good for large distributed systems.
RS485 is more flexible in terms of length and speed, but its just a physical layer, so you need do choose a protocol on top
CAN is both - physical layer and protocol - with the physical layer to have some options. CAN is designed for die hard realtime in cars's. For CAN you need a µC which includes a CAN Controller. for RS485 a simple URAT is enough
You can choose any of both for home-automation... you will hardly get to the limits