My guess is that it's for technical reasons - once they'd developed a flash-based player this was usable with minimal alteration on any streamers that could run flash apps, so that would mean the same code would work on WD TV, Google TV and Netgear Neo. So invest once, and run it on multiple devices. I expect they figured the investment was worthwhile because it would make people more likely to buy a Slingbox if it the player could also run on a streamer they owned, plus even if they didn't have a Slingbox the fact that someone with a WDTV player would see a pre-installed Slingplayer app would act as a form of promotion.
However, Roku doesn't, to my knowledge, support Flash, so they would have had to spend time and money on a custom version I presume, and instead they took an easier technical approach which was to write a simpler app on the Roku which just receives the stream from an android or iOS device - the fact that this would then potentially boost sales of these mobile versions would make it a win-win situation for a business point of view. Also, maybe the fact that the iOS version already supports similar Airplay functionality for Apple TV meant that it was even simpler to adapt the iOS version to stream to Roku once the receiving app on the Roku had been written.
Personally I wish they'd never bothered with any of them and instead evolved the Slingcatcher as that was by far and away the best device for viewing a stream on your TV, but I accept the numbers ultimately didn't really add up for that. Shame.