Have only used ATV2, but I see no reason to change.
Roku doesn't let you stream your home movies and photo library easily, as far as I know, so that means it won't meet my needs. And we are an iOS device family, so the lack of airplay from the other devices would hurt as well.
I have had ATV2 since it came out last year, and have mainly used it for showing photo slideshows from iPhoto (just plug in your camera to import the photos into iPhoto, and they photos are available on your TV screen without you having to do anything else!) and home movies via iTunes, as well as Netflix and Youtube, and my wife uses it as a radio to listen to NPR. Also very useful for Airplay, since it is easier to search for youtube videos on my iphone than it is on the ATV2, so I just find the video on the phone and then airplay it. Also any videos I take of my 16 month-old son on my iphone 4 i can just airplay to the TV to show off to family/friends immediately after taking the video. Very convenient. Plus you can airplay audio from just about any app (I use the iphone 4 This American Life app to listen to radio stories, which I just airplay to the ATV2 for the better speakers.)
All those features are built-in and require no jailbreaking.
Just last week I finally jail-broke the ATV2 using seasonpass (for ATV2 firmware 4.3), which added the following useful functionality:
--Hulu access (WITHOUT COMMERCIALS!) using XBMC (downloadable from NitoTV after you jailbreak) and the bluecop repository. This actually works surprisingly well and takes me one step closer to "cutting the cord", since there are only a few cable shows I watch and those are mostly available on Hulu (ie: Daily Show). I've watched several Daily Show and Colbert Report episodes and the quality is great (clean-looking 480p, I think). The lack of commercials is fantastic.
--Ability to stream any non-iTunes movie files from my computer (via XBMC and Plex). This is handy because I currently use EyeTV on my mac to record shows from an OTA antenna. Before jailbreaking, I had been telling eyetv to transcode the shows to iTunes so I could watch them on ATV2. That works fine, but it takes a while to transcode the shows. Now, with XBMC, that last step is unnecessary since I can just directly stream the eyetv native files immediately after they are done recording. Plex is supposed to be able to do this as well, but at the moment the ATV2 version of Plex is still being fixed, since the latest ATV2 firwmare (4.3 with Vimeo) threw some bugs into Plex. XBMC works fine for this right now though.
--There are other jailbreak-enabled functionalities that are now available which I probably won't use very much (weather page, and all the other features of Plex and XBMC), but it's nice to have the versatility available to me.
Before I jail-broke, I had been considering cutting the cord by getting a mac mini and making it into a HTPC, since that would replace my Dish network DVR, using eyetv and my antenna for broadcast network shows, and Hulu and TV show websites for everything else. But now that I have Hulu access on the ATV2, and quicker access to my eyetv files, there are fewer reasons to put up the $600 for a full computer: the jailbroken ATV2 does 95% of what I want, for $100.
If I pony up another $20 for ATV Flash (black), I'd also get a web browser on the ATV2 (Couch Surfer Pro), which would allow me to use EyeTV's Live 3G service to watch live TV on the ATV2 as well (as long as you have EyeTV running on your mac). So that would get me the ability to watch and pause live network TV as well! (see demo of that here:
http://vimeo.com/22406949)
Hard to beat that value. And Apple has been pretty good about updating the ATV2 (a significant update every 3-4 months since I bought it: first Airplay, then NBA MLB, then Vimeo, etc.)