I see your point, but I also think that Steam is so much more than what your example gives. In your case, Steam also has Instagram built in, it has photography forums, it has low-level interfaces to standardize hardware control across multiple camera brands and types, it has a body & lens store, it offers additional software to aid in photo editing, and... and... and...
It's really an impressive accomplishment what Valve have done with Steam and the hardware/software in its orbit. And that's not even mentioning all the work that they've poured into the open-source community to make Linux a viable gaming platform. Yes, it serves them all in the end, but little of it is easy and it's all taken a lot of work over the years.
This is a good list. The reality is that at the end of the day, you have a really important question to answer: Do I want access to this outside of my home network?
If you don't, this can all be pretty easy; if you do, it gets significantly more complicated for most solutions.
Keeping it internal, it can be very simple: get Docker, fire up some containers of software you like, make sure you have your ports mapped properly and you're off to the races. You'll want to set up a system to make sure you're at least aware if new versions of your software are released so you can upgrade, and that you have a backup system in place for your data.
I have a few things I now run on my home network, including: