I use the Chromecast dongle, from a Mac (Chrome browser) to a Samsung 2016 TV (predates Airplay). It’s easy to set up, and the connection is stable.
For most things, although you control what’s happening on your laptop, the default is not to mirror the laptop screen, it picks up the video API and the video data does not go via your laptop, it does direct over WiFi (native streaming). This gives you the same high quality video as if you were watching through an app installed on your TV, or a Firestick or Roku - much better quality than mirroring.
This leads to one quirk. I watch some European sports via VPN because of regional broadcast restrictions. This then does not work using the default method, because my laptop is connected to a European server via VPN, but my WiFi router is not. So for this I need to switch Chromecast to just mirroring my laptop screen. It works, but for some reason using mirroring I can’t get the sound to go to my TV, it keeps coming out of my laptop.
Previous thread.