For most people, any one of these devices (SmartTV, Roku, or AppleTV) will be just fine. The exceptions would be:
-People who want to run a specific streaming service that is only available on certain streaming service devices, such as Amazon (until recently, when AppleTV added Amazon access) or iTunes.
-People who consume a lot of varied content, such as enjoying both YouTube and Crackle.
At this time, only the main paid channels (Netflix, Amazon, HBOGO) work reliably on all three devices. Things like YouTube, movie trailers, or viewing content on a network hard drive only work sporadically on any of these devices. For instance, the YouTube app works quite well on AppleTV, but is slow and cumbersome on a Roku. Many apps on older SmartTVs are utterly impossible to use, while newer SmartTVs do some things (YouTube and DLNA server access) better than either Roku or AppleTV.
I only mean for this to be confusing or daunting to those who (a) watch a lot of TV and (b) are picky about what they watch. Using these devices is an excellent way to increase the quantity and quality of the shows you watch, but at this time, there is no 'one size fits all' solution.
For the average person, the best choice is probably a SmartTV to start with, if for no other reason than to lessen the amount of remotes you have on the table. If a SmartTV isn't sufficient, then investigate which device will best serve your needs. This changes for the better and for the worse regularly. A current example of this is that Amazon's fire will no longer offer YouTube because of a recent battle with another tech giant, that being Google.
Feel free to ask me here or elsewhere which device is best for you.