- including patching for multiple game versions
- operating specific problems (source is not as solid as somebody here thinks because it is a c++ mess/hell, I know from experience)
- operating specific 3rd party tools
- "special hacks" (source games are full of them) which often don't translate well across OSes
- support problems (you have to support more OS which can put quite a damper on your reputation if you can't handle it like Windows)
The UEngine as somebody mentioned it here is a lot more portable than this mess called Source Engine. As mentioned, the problem for the games itself is supporting "another" OS and that's the real problem that steam does not solve. It makes it "at best" "slightly" less troublesome but if you are Sisyphus then it doesn't matter if one less little pebble is on your way as there are still hundred others.