For a small home network, or a small business (<100 devices, L2 / L2+ web/cli managed), where you only want basic support, and the thing to work securely without a subscription. You can stick to one of Ubiquiti, TP-Link (Omada series), Mikrotik. Zyxel and Netgear and some less manageable TP-Link might work too.
Assuming you typically don’t care to change stuff up daily once it’s set up and considering you don’t have to manage a large fleet of network devices (e.g. up to a 100 or so, not counting wifi lightswiches and vacuum cleaners)
If you need more reliability than a single switch provides, then you use two, and you ensure there are alternative routes between devices and that they’re connected through more than 1 switch simultaneously. (2 nics and either spanning tree, or separate IPs and pick some load balance friendly routing protocol).
For routers, for high availability of end user devices you can use VRRP. What’s usually synced is the firewall state tables contents. You can do this using a pair of pfSense devices, or you can do it on Linux as per openwrt wiki.
If you don’t care about 5 min of downtime while software auto updates at 3am once a month, stick to a single router.
If you’re ok with some dropped connections during VRRP handover, don’t bother with firewall state syncing.
Whenever you’re adding VRRP, you’re entangling the two devices that are supposed to be redundant and independent from each other somewhat, making config changes more complex. Firewall state syncing, required for not dropping connections makes the entanglement worse and changes more complicated.
e.g. how do you add port forwarding if states are synced - which router does the firewall rule go into first? You, need to start thinking about this stuff in that case, and that may be more hassle than it’s worth.