I use chromecast. The advantage is it can be controlled from any/all smart devices in the house. I can turn down the tv with my phone even if the kids started it with the tablet. This is also the disadvantage. No remote or built in apps so you need access to a smart device or computer to start showing content. In the past, not all apps allowed casting (like prime video until very recently).
Previously (like 5+ years ago) I used wd tv live. Much slower and more cumbersome. It has been relegated to the garage and may get replaced with chromecast.
Appletv is closer to roku, just at a much higher price point. If you are already comitted the apple ecosystem, you may find the premium worthwhile. Otherwise, I just dont see any advantage for the vastly higher price.
Ultimately, they are so cheap, it is hard to lose. All will be functional, the question is which one works best for you. All will work last longer than a smart tv as they have a bigger installed base and less individual apps needed. Samsung and vizio smart TVs lose netflix permanently next month.
Edit:
For pictures, I havent tried it, but apparently file explorer in android allows you to cast. Cant get much easier than that. Solutions with a remote normally access pictures on a network drive, so that adds another step.
FWIW, I hate youtube on a tv. It's just awful. Cant speed it up, awkward to search, iirc ads that dont skip well etc.