It's exactly what I'd be tempted to buy. It's equivalent to a PS4 or Xbone console, except that instead of the typical console games I'd have access to the thousands of Steam games already available.
Only the Linux compatible ones. Windows games cannot run on SteamOS. You use a PC and the streaming tech to send your PC game to the TV via your SteamBox but thats not quite the same.
Not necessarily. Barring the MS platforms, they all use roughly the same APIs. Provided each platform offers a stable environment, all a developer would have to do is press a button to compile their game for it.
That's what all the big middleware engines like Unity and the UDK do. You make your game, then tell it to produce an executable for either Windows, Mac, Linux, Android, or iOS. It requires a bit of extra Q&A to make sure it runs well on each platform, but it doesn't require everyone to rewrite their code from the ground up.
At a rough guess you haven't worked in games development
That's not a criticism your thoughts were similar to mine before I started my career in games in many ways...
In theory most of what you say has some merit but in the years I have in gaming I have found the following to be true:
1. The more complex or low level the API the more likely for platform specific issues. Performance which is a major issue with games can also rear its head. If you have the same API on two platforms but one is 400% slower with call "X" then you have to get creative
2. The APIs for some things are the same across all platforms however for other things like graphics they are wildly different. No PS3 game really uses OpenGL for anything for example even though people think it is an OpenGL console
3. Press a button and compile for it will never work for anything outside of a scripted game that uses a pre written and untouched game engine.
4. Unity is a simple iOS mobile standard game engine, you don't get the source code for the engine on the basic license and most people build a game within Unity frameworks which means the engine has already been built and tested and you are in effect developing data for that engine to run. In AAA games you also build all aspects of the engine mixing it all together with some of your own code. This means in the end the final engine is not 100% anything making the different platforms all subtly different to work with.
5. Most games are super complex and not one of them uses middleware and game engines in their vanilla state, BioShock is a UDK (unreal Engine 3) game so is BioShock 2. The changes between those two games in the same series was quite a lot, hell even the modifications between the single player and multiplayer BioShock 2 engine was several weeks work to tweak and get drawing. Just because they use the same based middleware doesn't mean they haven't then modded the heck out of it to get it to do what they want for their game.
6. We don't rewrite games from the ground up for the Mac but the devil is in the details and the last 10% is where you fine all the performance and fix the annoying glitches and stability issues. This is the bit you have to do for each platform.
To summarise it's not all the work again by any stretch but it is still a large amount of work. Linux/SteamBox should be very little as they are basically the same OS.
Hope that helps explain a few of the fun things you get to deal with in development.
Edwin